public static decimal Izracunaj(KonverzijaCmd cmd) { var rezultat = (decimal)0; if (cmd.Iznos < 0 || string.IsNullOrEmpty(cmd.SifraValutaIz) || string.IsNullOrEmpty(cmd.SifraValutaU) || VratiValutu(cmd.SifraValutaIz) == null || VratiValutu(cmd.SifraValutaU) == null || string.Equals(cmd.SifraValutaIz, cmd.SifraValutaU, StringComparison.InvariantCultureIgnoreCase)) { if (string.IsNullOrEmpty(cmd.SifraValutaIz) == false && string.IsNullOrEmpty(cmd.SifraValutaU) == false && string.Equals(cmd.SifraValutaIz, cmd.SifraValutaU, StringComparison.InvariantCultureIgnoreCase)) { rezultat = cmd.Iznos; } return(rezultat); } var sifraDomaceValute = VratiDomacuValutu(); var stavkaU = VratiStavkuKursneListe(sifraDomaceValute, cmd.SifraValutaU); var stavkaIz = VratiStavkuKursneListe(sifraDomaceValute, cmd.SifraValutaIz); if (stavkaU == null || stavkaIz == null) { return(rezultat); } var medjuIznos = stavkaIz.KupovniKurs * cmd.Iznos; rezultat = Math.Round(medjuIznos / stavkaU.ProdajniKurs, 2); return(rezultat); }
public static void Izvrsi(KonverzijaCmd cmd) { IzvrsiInternal(cmd); }
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> > Validiraj(KonverzijaCmd cmd) { return(IzvrsiInternal(cmd, true)); }