예제 #1
0
        public async Task <JsonResult> KreirajSastojak(
            [HttpTrigger(AuthorizationLevel.Function, "POST", Route = "v1/recepti/{idRecepta}/sastojci")][FromBody] SastojakDTO sastojakDTO,
            [FromRoute] string idRecepta)
        {
            _dnevnik.LogInformation("KreirajSastojak funkcija je primila zahtev. Id: " + idRecepta);

            var         odgovor             = new JsonResult(null);
            SastojakDTO kreiraniSastojakDTO = null;

            try
            {
                kreiraniSastojakDTO = await _receptiServis.KreirajSastojak(idRecepta, sastojakDTO);

                odgovor.StatusCode = StatusCodes.Status201Created;
                odgovor.Value      = kreiraniSastojakDTO;
            }
            catch (ReceptiAPIIzuzetak rai)
            {
                odgovor.StatusCode = rai.HttpStatusKod;
                odgovor.Value      = new GreskaDTO {
                    PorukaGreske = rai.Poruka
                };
            }
            catch (Exception i)
            {
                _dnevnik.LogError("Neobradjen izuzetak u funkciji KreirajSastojak.", i);

                odgovor.StatusCode = StatusCodes.Status500InternalServerError;
                odgovor.Value      = new GreskaDTO {
                    PorukaGreske = KonstantneVrednosti.GreskaNaServerskojStrani
                };
            }

            return(odgovor);
        }
예제 #2
0
        public async Task <SastojakDTO> KreirajSastojak(string idRecepta, SastojakDTO sastojakDTO)
        {
            Recept recept = await _receptiRepozitorijum.PronadjiJedan(idRecepta);

            Sastojak sastojak = _maper.Map <Sastojak>(sastojakDTO);

            sastojak.Id              = Guid.NewGuid().ToString();
            sastojak.DatumKreiranja  = DateTime.UtcNow;
            sastojak.DatumAzuriranja = DateTime.UtcNow;
            sastojak.IdRecepta       = idRecepta;

            sastojak = await _sastojciRepozitorijum.Kreiraj(sastojak);

            return(_maper.Map <SastojakDTO>(sastojak));
        }
예제 #3
0
        public async Task <SastojakDTO> AzurirajSastojak(string idRecepta, string idNamirnice, SastojakDTO sastojakDTO)
        {
            Recept recept = await _receptiRepozitorijum.PronadjiJedan(idRecepta);

            List <Sastojak> sastojci = await _sastojciRepozitorijum.PronadjiSve("idNamirnice", idNamirnice, false, 1, 1);

            Sastojak sastojak = sastojci.FirstOrDefault();

            sastojak = _maper.Map <SastojakDTO, Sastojak>(sastojakDTO, sastojak);
            sastojak.DatumAzuriranja = DateTime.UtcNow;

            sastojak = await _sastojciRepozitorijum.Azuriraj(sastojak);

            return(_maper.Map <SastojakDTO>(sastojak));
        }