public static decimal Izracunaj(ProdajaCmd cmd) { var rezultat = (decimal)0; if (cmd.Iznos < 0) { return(rezultat); } if (string.IsNullOrEmpty(cmd.SifraValuta)) { return(rezultat); } if (VratiValutu(cmd.SifraValuta) == null) { return(rezultat); } var sifraDomaceValute = VratiDomacuValutu(); var stavka = VratiStavkuKursneListe(sifraDomaceValute, cmd.SifraValuta); if (stavka == null) { return(rezultat); } rezultat = stavka.ProdajniKurs * cmd.Iznos; return(rezultat); }
public static void Izvrsi(ProdajaCmd cmd) { IzvrsiInternal(cmd); }
private static Dictionary <string, List <string> > IzvrsiInternal(ProdajaCmd cmd, bool validacija = false) { var rezultat = new Dictionary <string, List <string> >(); if (cmd.Iznos < 0) { DodajValidacionuGresku(rezultat, "Iznos", "Iznos mora biti veći od 0!"); if (validacija == false) { throw new Exception("Iznos mora biti veći od 0!"); } } if (string.IsNullOrEmpty(cmd.SifraValuta)) { DodajValidacionuGresku(rezultat, "SifraValuta", "Valuta mora biti uneta!!!"); if (validacija == false) { throw new Exception("Valuta mora biti uneta!!!"); } } if (VratiValutu(cmd.SifraValuta) == null) { DodajValidacionuGresku(rezultat, "SifraValuta", "Nepostojeca valuta!!!"); if (validacija == false) { throw new Exception("Nepostojeca valuta!!!"); } } var sifraDomaceValute = VratiDomacuValutu(); var stavka = VratiStavkuKursneListe(sifraDomaceValute, cmd.SifraValuta); if (stavka == null) { DodajValidacionuGresku(rezultat, "", "Nepostojeca kursna lista!!!"); if (validacija == false) { throw new Exception("Nepostojeca kursna lista!!!"); } } else { var iznosProdaje = cmd.Iznos; var iznosOtkupa = stavka.ProdajniKurs * cmd.Iznos; var sifraValuteProdaje = cmd.SifraValuta; var sifraValutaOtkupa = sifraDomaceValute; var menjackaTransakcija = new MenjackaTransakcija { DatumTransakcije = DateTime.Now, IznosOtkupa = iznosOtkupa, SifraValutaOtkupa = sifraValutaOtkupa, SifraValutaProdaje = sifraValuteProdaje, Naziv = cmd.Naziv, Opis = cmd.Opis, Tip = TipMenjackeTransakcije.Prodaja, IznosProdaje = iznosProdaje, FinansijskeTransakcije = NapraviFinansijskeTransakcije(sifraDomaceValute, iznosOtkupa, sifraValuteProdaje, iznosProdaje) }; IzvrsiTransakciju(menjackaTransakcija, validacija, rezultat); } return(rezultat); }
public static Dictionary <string, List <string> > Validiraj(ProdajaCmd cmd) { return(IzvrsiInternal(cmd, true)); }