public async Task <ProduceDTO> Save(ProduceDTO produce)
 {
     return(await Task.Run(() =>
     {
         return _produceManager.Save(produce);
     }));
 }
        public async Task <IActionResult> Save(ProduceViewModel model)
        {
            if (ModelState.IsValid)
            {
                ProduceDTO response = await _greenApiService.Save(new ProduceDTO()
                {
                    Id    = model.Id,
                    Name  = model.Name,
                    Price = model.Price.GetValueOrDefault(0),
                    Stock = model.Stock.GetValueOrDefault(0),
                });

                model.Id = response.Id;

                if (model.Id == 0)
                {
                    AddNotification("danger", "Save Failed!");
                }
                else
                {
                    AddNotification("success", "Save Succeeded!");
                }
            }

            return(View("ManageProduce", model));
        }
        public ProduceDTO Save(ProduceDTO produce)
        {
            int saved = _produceDB.Upsert(DtoToEntity(produce));

            produce.Id = saved;

            return(produce);
        }
 private Produce DtoToEntity(ProduceDTO dto)
 {
     return(new Produce()
     {
         Id = dto.Id,
         Name = dto.Name,
         Price = dto.Price,
         Stock = dto.Stock,
     });
 }
        public async Task <IActionResult> Edit(int id)
        {
            ProduceDTO produce = await _greenApiService.Get(id);

            return(View("ManageProduce", new ProduceViewModel()
            {
                Id = produce.Id,
                Name = produce.Name,
                Price = produce.Price,
                Stock = produce.Stock,
            }));
        }
        public ProduceDTO Get(int id)
        {
            ProduceDTO returnValue = new ProduceDTO();

            Produce produce = _produceDB.Read(id);

            if (produce != null)
            {
                returnValue.Id    = produce.Id;
                returnValue.Name  = produce.Name;
                returnValue.Price = produce.Price;
                returnValue.Stock = produce.Stock;
            }

            return(returnValue);
        }
        public async Task <ProduceDTO> Save(ProduceDTO produce)
        {
            StringContent produceJson = new StringContent(
                JsonSerializer.Serialize(produce),
                Encoding.UTF8,
                "application/json");

            HttpResponseMessage response =
                await _client.PostAsync($"/Produce", produceJson);

            response.EnsureSuccessStatusCode();

            using Stream responseStream = await response.Content.ReadAsStreamAsync();

            return(await JsonSerializer.DeserializeAsync
                   <ProduceDTO>(responseStream));
        }