private static Dictionary <string, List <string> > IzvrsiInternal(KonverzijaCmd 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.SifraValutaIz) || string.IsNullOrEmpty(cmd.SifraValutaU)) { DodajValidacionuGresku(rezultat, "SifraValuta", "Valuta mora biti uneta!!!"); if (validacija == false) { throw new Exception("Valuta mora biti uneta!!!"); } } if (VratiValutu(cmd.SifraValutaIz) == null) { DodajValidacionuGresku(rezultat, "SifraValutaIz", $"Nepostojeca valuta {cmd.SifraValutaIz}!!!"); if (validacija == false) { throw new Exception($"Nepostojeca valuta {cmd.SifraValutaIz}!!!"); } } if (VratiValutu(cmd.SifraValutaU) == null) { DodajValidacionuGresku(rezultat, "SifraValutaU", $"Nepostojeca valuta {cmd.SifraValutaU}!!!"); if (validacija == false) { throw new Exception($"Nepostojeca valuta {cmd.SifraValutaU}!!!"); } } var sifraDomaceValute = VratiDomacuValutu(); var stavkaU = VratiStavkuKursneListe(sifraDomaceValute, cmd.SifraValutaU); var stavkaIz = VratiStavkuKursneListe(sifraDomaceValute, cmd.SifraValutaIz); if (stavkaU == null || stavkaIz == null) { DodajValidacionuGresku(rezultat, "", "Nepostojeca kursna lista!!!"); if (validacija == false) { throw new Exception("Nepostojeca kursna lista!!!"); } } else { var medjuIznos = stavkaU.KupovniKurs * cmd.Iznos; var iznosProdaje = Math.Round(medjuIznos / stavkaIz.ProdajniKurs, 2); var sifraValuteProdaje = cmd.SifraValutaU; var iznosOtkupa = cmd.Iznos; var sifraValutaOtkupa = cmd.SifraValutaIz; var menjackaTransakcija = new MenjackaTransakcija { DatumTransakcije = DateTime.Now, IznosOtkupa = iznosOtkupa, SifraValutaOtkupa = sifraValutaOtkupa, SifraValutaProdaje = sifraValuteProdaje, Naziv = cmd.Naziv, Opis = cmd.Opis, Tip = TipMenjackeTransakcije.Konverzija, IznosProdaje = iznosProdaje, FinansijskeTransakcije = NapraviFinansijskeTransakcije(sifraValutaOtkupa, iznosOtkupa, sifraDomaceValute, iznosProdaje, medjuIznos) }; IzvrsiTransakciju(menjackaTransakcija, validacija, rezultat); } return(rezultat); }
public static Dictionary <string, List <string> > IzvrsiInternal(OtkupCmd 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 iznosOtkupa = cmd.Iznos; var iznosProdaje = stavka.KupovniKurs * cmd.Iznos; var sifraValutaOtkupa = cmd.SifraValuta; var sifraValuteProdaje = sifraDomaceValute; var menjackaTransakcija = new MenjackaTransakcija { DatumTransakcije = DateTime.Now, IznosOtkupa = iznosOtkupa, SifraValutaOtkupa = sifraValutaOtkupa, SifraValutaProdaje = sifraValuteProdaje, Naziv = cmd.Naziv, Opis = cmd.Opis, Tip = TipMenjackeTransakcije.Otkup, IznosProdaje = iznosProdaje, FinansijskeTransakcije = NapraviFinansijskeTransakcije(sifraValutaOtkupa, iznosOtkupa, sifraDomaceValute, iznosProdaje) }; IzvrsiTransakciju(menjackaTransakcija, validacija, rezultat); } return(rezultat); }