示例#1
0
        public async Task <ModelRezultatKreiranjaValute> DodajValutu(ValutaDomenskiModel novaValuta)
        {
            if (novaValuta.NazivValute.Length != 3)
            {
                return(new ModelRezultatKreiranjaValute
                {
                    Uspeh = false,
                    Greska = Greske.VALUTA_POGRESAN_NAZIV_VALUTE
                });
            }

            var proveraNazivaValute = await _valuteRepozitorijum.DajPoNazivu(novaValuta.NazivValute);

            if (proveraNazivaValute != null)
            {
                return(new ModelRezultatKreiranjaValute
                {
                    Uspeh = false,
                    Greska = Greske.VALUTA_POSTOJECI_NAZIV_VALUTE
                });
            }

            Valuta valutaZaUnos = new Valuta
            {
                NazivValute      = novaValuta.NazivValute,
                OdnosPremaDinaru = novaValuta.OdnosPremaDinaru
            };

            var rezultatUnosa = _valuteRepozitorijum.Insert(valutaZaUnos);

            if (rezultatUnosa == null)
            {
                return(new ModelRezultatKreiranjaValute
                {
                    Uspeh = false,
                    Greska = Greske.VALUTA_GRESKA_PRI_KREIRANJU
                });
            }
            _valuteRepozitorijum.Sacuvaj();

            ModelRezultatKreiranjaValute rezultatKreiranjaValute = new ModelRezultatKreiranjaValute
            {
                Uspeh  = true,
                Greska = null,
                Valuta = new ValutaDomenskiModel
                {
                    IdValute         = rezultatUnosa.IdValute,
                    NazivValute      = rezultatUnosa.NazivValute,
                    OdnosPremaDinaru = rezultatUnosa.OdnosPremaDinaru
                }
            };

            return(rezultatKreiranjaValute);
        }
示例#2
0
        public async Task <ValutaDomenskiModel> DajValutuPoId(int id)
        {
            var data = await _valuteRepozitorijum.DajPoId(id);

            if (data == null)
            {
                return(null);
            }

            ValutaDomenskiModel rezultat = new ValutaDomenskiModel
            {
                IdValute         = data.IdValute,
                NazivValute      = data.NazivValute,
                OdnosPremaDinaru = data.OdnosPremaDinaru
            };

            return(rezultat);
        }
        public async Task <ActionResult <ValutaDomenskiModel> > KreirajNovuValutu([FromBody] NovaValutaModel novaValuta)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            ValutaDomenskiModel valutaZaUnos = new ValutaDomenskiModel
            {
                NazivValute      = novaValuta.NazivValute,
                OdnosPremaDinaru = novaValuta.OdnosPremaDinaru
            };

            ModelRezultatKreiranjaValute kreiranaValuta;

            try
            {
                kreiranaValuta = await _valutaServis.DodajValutu(valutaZaUnos);
            }
            catch (DbUpdateException e)
            {
                ModelGreske greska = new ModelGreske
                {
                    PorukaGreske = e.InnerException.Message ?? e.Message,
                    StatusKod    = System.Net.HttpStatusCode.BadRequest
                };
                return(BadRequest(greska));
            }

            if (kreiranaValuta.Uspeh != true)
            {
                ModelGreske greska = new ModelGreske
                {
                    PorukaGreske = kreiranaValuta.Greska,
                    StatusKod    = System.Net.HttpStatusCode.BadRequest
                };
                return(BadRequest(greska));
            }
            return(Ok(kreiranaValuta.Valuta));
        }
示例#4
0
        public async Task <IEnumerable <ValutaDomenskiModel> > DajSveValute()
        {
            var data = await _valuteRepozitorijum.DajSve();

            if (data == null)
            {
                return(null);
            }

            List <ValutaDomenskiModel> rezultat = new List <ValutaDomenskiModel>();
            ValutaDomenskiModel        model;

            foreach (var valuta in data)
            {
                model = new ValutaDomenskiModel
                {
                    IdValute         = valuta.IdValute,
                    NazivValute      = valuta.NazivValute,
                    OdnosPremaDinaru = valuta.OdnosPremaDinaru
                };
                rezultat.Add(model);
            }
            return(rezultat);
        }
示例#5
0
        public async Task <ModelRezultatKreiranjaValute> IzmeniValutu(ValutaDomenskiModel izmenjenaValuta)
        {
            Valuta valuta = new Valuta
            {
                IdValute         = izmenjenaValuta.IdValute,
                NazivValute      = izmenjenaValuta.NazivValute,
                OdnosPremaDinaru = izmenjenaValuta.OdnosPremaDinaru
            };

            var repoOdgovor = _valuteRepozitorijum.Izmeni(valuta);

            if (repoOdgovor == null)
            {
                return(new ModelRezultatKreiranjaValute
                {
                    Uspeh = false,
                    Greska = Greske.VALUTA_GRESKA_PRI_IZMENI
                });
            }

            _valuteRepozitorijum.Sacuvaj();

            ModelRezultatKreiranjaValute rezultat = new ModelRezultatKreiranjaValute
            {
                Uspeh  = true,
                Greska = null,
                Valuta = new ValutaDomenskiModel
                {
                    IdValute         = repoOdgovor.IdValute,
                    NazivValute      = repoOdgovor.NazivValute,
                    OdnosPremaDinaru = repoOdgovor.OdnosPremaDinaru
                }
            };

            return(rezultat);
        }