public void SaveOrderList(string path, List <GameManager.OrderList> orderList) { if (path.Substring(path.Length - 5) == "0.csv") { var r = new List <GameManager.OrderDataCSVList>(); if (GetComponent <DataLoader>().checkExist("data/order/order.csv")) { var result = new List <GameManager.OrderDataCSVList>(); { using (TextReader fileReader = File.OpenText(@"data/order/order.csv")) { using (var csv = new CsvReader(fileReader, System.Globalization.CultureInfo.InvariantCulture)) { csv.Configuration.HasHeaderRecord = true; csv.Configuration.RegisterClassMap <GameManager.OrderDataCSVListMapper>(); csv.Read(); csv.ReadHeader(); while (csv.Read()) { var record = new GameManager.OrderDataCSVList { Year = int.Parse(csv.GetField("Year")), Month = int.Parse(csv.GetField("Month")), Day = int.Parse(csv.GetField("Day")) }; result.Add(record); } } } } r = result; } r.Add(new GameManager.OrderDataCSVList { Year = DateTime.Now.Year, Month = DateTime.Now.Month, Day = DateTime.Now.Day }); using (TextWriter fileWriter = new StreamWriter(@"data/order/order.csv", false)) using (var csv = new CsvWriter(fileWriter, System.Globalization.CultureInfo.InvariantCulture)) { csv.Configuration.HasHeaderRecord = true; csv.Configuration.RegisterClassMap <GameManager.OrderDataCSVListMapper>(); csv.WriteRecords(r); } } using (TextWriter fileWriter = new StreamWriter(path, true)) using (var csv = new CsvWriter(fileWriter, System.Globalization.CultureInfo.InvariantCulture)) { csv.Configuration.HasHeaderRecord = true; csv.Configuration.RegisterClassMap <GameManager.OrderListMapper>(); csv.WriteRecords(orderList); } }
private int 注文データ数(GameManager.OrderDataCSVList Date) { string dir = Number.FormatDate(Date.Year, Date.Month, Date.Day); if (File.Exists(@"data/order/" + dir + "/0.csv")) { int cnt = 0; while (true) { if (!File.Exists(@"data/order/" + dir + "/" + cnt + ".csv")) { return(cnt); } cnt++; } } else { return(0); } }
private GameManager.OrderList 商品別注文データ取得(GameManager.OrderDataCSVList Date, int Category, string Name) { int result = 0; for (int i = 0; i < 注文データ数(Date); i++) { var data = 注文データ取得(Date, i); foreach (var record in data) { if (record.Category == Category && record.Name == Name) { result += record.Amount; } } } var list = DataLoader.LoadList(); list.Add(new DataLoader.List { Name = "割引", Category = -1 }); int cnt = 0; int Price = 0; int Number = 0; foreach (var record in list) { if (record.Category == Category && record.Name == Name) { Number = cnt; Price = record.Price * result; break; } cnt++; } return(new GameManager.OrderList { Amount = result, Category = Category, Number = Number, Name = Name, Price = Price }); }
private List <GameManager.OrderList> 時間帯別注文データ取得(GameManager.OrderDataCSVList Date, int Hour) { List <GameManager.OrderList> result = new List <GameManager.OrderList>(); for (int i = 0; i < 注文データ数(Date); i++) { var data = 注文データ取得(Date, i); var Time = File.GetCreationTime(@"data/order/" + Number.FormatDate(日付リスト[時間帯別売上日付番号].Year, 日付リスト[時間帯別売上日付番号].Month, 日付リスト[時間帯別売上日付番号].Day) + "/" + i.ToString() + ".csv"); if (int.Parse(Time.ToString("HH")) == Hour) { foreach (var r in data) { if (result.Count == 0) { result.Add(r); } else { bool flag = false; for (int cnt = 0; cnt < result.Count; cnt++) { if (result[cnt].Number == r.Number) { result[cnt].Amount += r.Amount; result[cnt].Price += r.Price; flag = true; break; } } if (!flag) { result.Add(r); } } } } } return(result); }
private List <GameManager.OrderDataCSVList> 日付データ取得() { var r = new List <GameManager.OrderDataCSVList>(); if (GetComponent <DataLoader>().checkExist("data/order/order.csv")) { var result = new List <GameManager.OrderDataCSVList>(); { using (TextReader fileReader = File.OpenText(@"data/order/order.csv")) { using (var csv = new CsvReader(fileReader, System.Globalization.CultureInfo.InvariantCulture)) { csv.Configuration.HasHeaderRecord = true; csv.Configuration.RegisterClassMap <GameManager.OrderDataCSVListMapper>(); csv.Read(); csv.ReadHeader(); while (csv.Read()) { var record = new GameManager.OrderDataCSVList { Year = int.Parse(csv.GetField("Year")), Month = int.Parse(csv.GetField("Month")), Day = int.Parse(csv.GetField("Day")) }; if (注文データ数(record) != 0) { result.Add(record); } } } fileReader.Close(); } } r = result; } return(r); }
private List <GameManager.OrderList> 注文データ取得(GameManager.OrderDataCSVList Date, int num) { string path = "data/order/" + Number.FormatDate(Date.Year, Date.Month, Date.Day) + "/" + num.ToString() + ".csv"; return(GetComponent <DataLoader>().LoadOrderList(path)); }