public static CheckPart Quicksort(List <string> Data) { CheckPart Parts = new CheckPart(); CheckPartPart cp; foreach (string d in Data) { if (Data.IndexOf(d) == 0 && d.Contains("ð") && int.TryParse(d.Replace("ð", ""), out int DSPLY)) { Parts.DayLimit = DSPLY; } else { cp = new CheckPartPart(); if (int.TryParse(d.Substring(0, 13), out int qty)) { cp.Qty = qty; cp.Part = d.Substring(14, 6); cp.Desc = d.Substring(22, 20); cp.Vend = d.Substring(45, d.Length - 45); Parts.Parts.Add(cp); } } } if (Parts.DayLimit == null) { Parts.DayLimit = 30; } Parts.Parts = Parts.Parts.OrderBy(x => x.Part).OrderBy(xx => xx.Vend).ToList(); return(Parts); }
public static void QuickSortWriter(CheckPart Parts, string Target) { if (File.Exists(Target)) { File.Delete(Target); } using (StreamWriter sw = new StreamWriter(Target)) { sw.WriteLine(DateTime.Now.ToShortDateString()); sw.WriteLine(); sw.WriteLine($"LESS THAN {Parts.DayLimit} DAY{(Parts.DayLimit != 1 ? "S" : "")} SUPPLY ON HAND DON'T IGNORE THE SO ITEMS."); sw.WriteLine(); Parts.Parts.ForEach(Part => { sw.WriteLine($" {Justify(Part.Qty.ToString(), 0, S, 12, JustifyIs.right)} {Justify(Part.Part, 0, S, 6, JustifyIs.left)} {Justify(Part.Desc, 0, S, 20, JustifyIs.left)} {Justify(Part.Vend, 0, S, 6, JustifyIs.left)}"); }); } }