/// <summary> /// Prekių mažinimas /// </summary> /// <param name="Prekes">Prekių sąrašas</param> /// <param name="Preke">Paduota prekė</param> /// <param name="kiek">Kiekis</param> void SumazintiKieki(ref List <Sandelys> Prekes, Sandelys Preke, int kiek) { foreach (var preke in Prekes.ToList()) { if (preke.Equals(Preke)) { if (preke.Kiekis >= kiek) { preke.Kiekis -= kiek; if (preke.Kiekis == 0) { try { Prekes.Remove(preke); }catch (Exception ex) { Label2.Text = "Klaida: " + ex; return; } } } else { throw new Exception("Kiekis per didelis"); } } } }
/// <summary> /// Pigiausios prekės objektas /// </summary> /// <param name="Sandeliai">Sandelių sąrašas</param> /// <param name="ieskoma">Ieskoma preke</param> /// <returns></returns> public Sandelys PigiausiaPreke(List <List <Sandelys> > Sandeliai, Uzsakymas ieskoma) { Sandelys pig = new Sandelys(); foreach (var Sandelys in Sandeliai) { foreach (var sandelys in Sandelys) { if (sandelys.Vardas.Equals(ieskoma.Pavadinimas)) { if (pig.Kaina == 0) { pig = sandelys; } else { if (pig.Kaina > sandelys.Kaina) { pig = sandelys; } } } } } pig.Kiekis = ieskoma.Kiekis; return(pig); }
/// <summary> /// Pigiausios prekės trinimo metodas /// </summary> /// <param name="Prekes">Prekių sąrašas</param> /// <param name="max">Didžiausia suma</param> /// <param name="kaina">Kaina</param> void TrintiPigiausia(List <Sandelys> Prekes, double max, double kaina) { Sandelys pigiausia = new Sandelys(); foreach (var preke in Prekes) { if (pigiausia.Kaina == 0 || preke.Kaina < pigiausia.Kaina) { pigiausia = preke; } } kaina = kaina - pigiausia.Kaina; try { SumazintiKieki(ref Prekes, pigiausia, 1); PrekiuSutikrinimas(Prekes, max, ref kaina); } catch (Exception ex) { Label2.Text = "Klaida: " + ex; return; } }
/// <summary> /// Skaitymo metodas /// </summary> /// <param name="Sandeliai">Sandelių sąrašas</param> /// <param name="Uzsakymai">Užsakymų sąrašas</param> public void Skaitymas(List <List <Sandelys> > Sandeliai, List <Uzsakymas> Uzsakymai) { string path = Server.MapPath("~/App_Data/"); var files = Directory.GetFiles(path); foreach (var file in files) { try { using (StreamReader reader = new StreamReader(file)) { if (!Path.GetFileName(file).Equals("Uzsakymas.txt")) { List <Sandelys> sandelys = new List <Sandelys>(); string eil = null; int nr = int.Parse(reader.ReadLine()); while (null != (eil = reader.ReadLine())) { try { string[] duom = eil.Split(';'); Sandelys sand = new Sandelys(nr, duom[0], int.Parse(duom[1]), double.Parse(duom[2])); sandelys.Add(sand); } catch (Exception ex) { Label2.Text = "Klaida: " + ex; return; } } Sandeliai.Add(sandelys); } else { string eil = null; while (null != (eil = reader.ReadLine())) { try { string[] duom = eil.Split(';'); Uzsakymas uzsakymas = new Uzsakymas(duom[0], int.Parse(duom[1])); Uzsakymai.Add(uzsakymas); } catch (Exception ex) { Label2.Text = "Klaida: " + ex; return; } } } } } catch (Exception ex) { Label2.Text = "Klaida: " + ex; return; } } }