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);
        }
示例#2
0
 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)}");
         });
     }
 }