Sie sind auf Seite 1von 2

using System;

using System.Collections.Generic;
using System.Data;

namespace ConsoleApp1
{
class Program
{
public static void Main(string[] args)
{
// string A = "photo.jpg, Warsaw, 2013-09-05 14:08:15\n"+
//"john.png, London, 2015 - 06 - 20 15:13:22\n"+
//"myFriends.png, Warsaw, 2013 - 09 - 05 14:07:13\n"+
//"Eiffel.jpg, Paris, 2015 - 07 - 23 08:03:02\n"+
//"pisatower.jpg, Paris, 2015 - 07 - 22 23:59:59\n"+
//"BOB.jpg, London, 2015 - 08 - 05 00:02:03\n"+
//"notredame.png, Paris, 2015 - 09 - 01 12:00:00\n"+
//"me.jpg, Warsaw, 2013 - 09 - 06 15:40:22\n"+
//"a.png, Warsaw, 2016 - 02 - 13 13:33:50\n"+
//"b.jpg, Warsaw, 2016 - 01 - 02 15:12:22\n"+
//"c.jpg, Warsaw, 2016 - 01 - 02 14:34:30\n"+
//"d.jpg, Warsaw, 2016 - 01 - 02 15:15:01\n"+
//"e.png, Warsaw, 2016 - 01 - 02 09:49:09\n"+
//"f.png, Warsaw, 2016 - 01 - 02 10:55:32\n"+
//"g.jpg, Warsaw, 2016 - 02 - 29 22:13:11";
string A = "photo.jpg, Warsaw, 2013-09-05 14:08:15\njohn.png, London,
2015-06-20 15:13:22\nmyFriends.png, Warsaw, 2013-09-05 14:07:13\nEiffel.jpg, Paris,
2015-07-23 08:03:02\npisatower.jpg, Paris, 2015-07-22 23:59:59\nBOB.jpg, London,
2015-08-05 00:02:03\nnotredame.png, Paris, 2015-09-01 12:00:00\nme.jpg, Warsaw,
2013-09-06 15:40:22\na.png, Warsaw, 2016-02-13 13:33:50\nb.jpg, Warsaw, 2016-01-02
15:12:22\nc.jpg, Warsaw, 2016-01-02 14:34:30\nd.jpg, Warsaw, 2016-01-02
15:15:01\ne.png, Warsaw, 2016-01-02 09:49:09\nf.png, Warsaw, 2016-01-02
10:55:32\ng.jpg, Warsaw, 2016-02-29 22:13:11";

string k = solution(A);
}

public static string solution(string A)


{
string result = "";
DataTable dt = new DataTable();
dt.Columns.Add("filename", typeof(string));
dt.Columns.Add("city", typeof(string));
dt.Columns.Add("date", typeof(DateTime));
dt.Columns.Add("index", typeof(int));
dt.Columns.Add("newname",typeof(string));

List<string> cities = new List<string>();

string[] lines = A.Split(new[] { "\r\n", "\r", "\n" },


StringSplitOptions.None);
int i = 0;
foreach (string line in lines)
{
string name = line.Split(',')[0].Trim();
string city = line.Split(',')[1].Trim();
DateTime date = DateTime.Parse(line.Split(',')[2]);
if (!cities.Contains(city)) { cities.Add(city); }

DataRow row = dt.NewRow();


row[0] = name;
row[1] = city;
row[2] = date;
row[3] = i;
row[4] = "";
dt.Rows.Add(row);
i++;
}

foreach (string city in cities)


{
string expression = "city = '"+city+"'";
string sortOrder = "date ASC";
DataRow[] foundRows;

foundRows = dt.Select(expression, sortOrder);


int k = 1;
foreach (DataRow r in foundRows)
{
if (foundRows.Length < 10)
{
r[4] = r[1].ToString() + k.ToString() + "." +
r[0].ToString().Split('.')[1];
}
else
{
if (k < 10)
{
r[4] = r[1].ToString() + "0" + k.ToString() + "." +
r[0].ToString().Split('.')[1];
}
else
{
r[4] = r[1].ToString() + k.ToString() + "." +
r[0].ToString().Split('.')[1];
}
}
k++;
}

DataView dv = dt.DefaultView;
dv.Sort = "index asc";
DataTable sortedDT = dv.ToTable();

foreach (DataRow drow in sortedDT.Rows)


{
result = result + drow[4].ToString();
}
result.Substring(1);
return result;
}
}
}

Das könnte Ihnen auch gefallen