コード例 #1
0
ファイル: Form1.cs プロジェクト: Bodiver/2coursework
 private void FillDataGrid(ReportClass report)
 {
     for (int i = 0; i < report.GoodsList.Count; i++)
     {
         dataGridView1.Rows.Add(report.GoodsList[i].Name, report.GoodsList[i].Ammount, report.GoodsList[i].Date);
     }
 }
コード例 #2
0
 public static void CreateReportFile(ReportClass rep, int quarterNum)
 {
     Stream stream = File.Open($"Report {quarterNum}-st quarter({rep.GetDate():yyyy}).rep", FileMode.Create);
     BinaryFormatter bformatter = new BinaryFormatter();
     bformatter.Serialize(stream, rep);
     stream.Close();
     foreach (var VARIABLE in rep.GoodsList)
     {
         Console.WriteLine(VARIABLE.Name + '\n' + VARIABLE.Ammount + '\n' + VARIABLE.Date);
     }
 }
コード例 #3
0
 public static void MakeReport(int a, int b, int q)
 {
     string[] paths = FilePaths.GetPath();
     var quarterFiles = new List<Tuple<string, DateTime>>();
     ReportClass report = new ReportClass();
     Request request = new Request();
     for (int i = 0; i < paths.Length; i++)
     {
         var date = DateTime.Parse(Regex.Match(paths[i], @"\(([^)]*)\)").Groups[1].Value);
         if (date.Month >= a && date.Month <= b)
         {
             quarterFiles.Add(new Tuple<string, DateTime>(paths[i], date));
         }
     }
     quarterFiles.Sort((x, y) => y.Item2.CompareTo(x.Item2));
     DateTime compareTime = quarterFiles[0].Item2;
     request = RequestSerializer.Deserialize(quarterFiles[0].Item1);
     report.AddRange(request.GoodsList);
     for (int i = 1; i < quarterFiles.Count; i++)
     {
         if (compareTime.Year == quarterFiles[i].Item2.Year)
         {
             request = null;
             request = RequestSerializer.Deserialize(quarterFiles[i].Item1);
             report.AddRange(request.GoodsList);
         }
         else
         {
             RequestSerializer.CreateReportFile(report, q);
             report.GoodsList.Clear();
             compareTime = quarterFiles[i].Item2;
             request = RequestSerializer.Deserialize(quarterFiles[i].Item1);
             report.AddRange(request.GoodsList);
         }
     }
     RequestSerializer.CreateReportFile(report, q);
     for (int i = 0; i < quarterFiles.Count; i++)
     {
         File.Delete(quarterFiles[i].Item1);
     }
 }
コード例 #4
0
ファイル: Form1.cs プロジェクト: Bodiver/2coursework
 private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (listBox1.DataSource != null)
     {
         currRep = RequestSerializer.DeserializeRep(paths[listBox1.SelectedIndex]);
         dataGridView1.Rows.Clear();
         FillDataGrid(currRep);
     }
 }
コード例 #5
0
 public static void ReplaceReportFile(string path, ReportClass rep)
 {
     Stream stream = File.Open(path, FileMode.Create);
     BinaryFormatter bformatter = new BinaryFormatter();
     bformatter.Serialize(stream, rep);
     stream.Close();
 }