Ejemplo n.º 1
0
        public DefaultResponse SaveDrink(DrinkRequest.EditDrink request)
        {
            try
            {
                _drinkService.Update(new Drink
                {
                    Id      = request.Id,
                    Caption = request.Caption,
                    Cost    = request.Cost,
                    Count   = request.Count,
                    Image   = request.Image
                });

                return(new DefaultResponse
                {
                    Message = string.Empty,
                    ErrorCode = 0
                });
            }
            catch (Exception e)
            {
                return(new DefaultResponse
                {
                    Message = e.Message,
                    ErrorCode = 2
                });
            }
        }
        public ActionResult EditDrink(DrinkViewModel.ParticularDrinkModel model)
        {
            //Проверяем модель на валидность
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            try
            {
                if (model.ImageFile != null)
                {
                    #region Копируем файл изображения в папку Images и записываем в модель имя файла
                    string fileName = Path.GetFileNameWithoutExtension(model.ImageFile.FileName);
                    string ext      = Path.GetExtension(model.ImageFile.FileName);
                    fileName    = fileName + DateTime.Now.ToString("yyyymmssfff") + ext;
                    model.Image = fileName;
                    fileName    = Path.Combine(Server.MapPath("/Images/"), fileName);
                    model.ImageFile.SaveAs(fileName);
                    #endregion
                }

                DrinkRequest.EditDrink request = new DrinkRequest.EditDrink
                {
                    Id      = model.Id,
                    Caption = model.Caption,
                    Image   = model.Image,
                    Count   = model.Count,
                    Cost    = model.Cost
                };
                HttpResponseMessage result = HttpService.PostAsync("api/drink/SaveDrink", request).Result;
                if (result.IsSuccessStatusCode)
                {
                    var response = result.Content.ReadAsAsync <DefaultResponse>().Result;
                    if (response.ErrorCode == 0 && string.IsNullOrEmpty(response.Message))
                    {
                        TempData["success"] = "Напиток успешно изменен";
                    }
                }
                else
                {
                    TempData["error"] = "Ошибка сохранения данных";
                }
            }
            catch (Exception e)
            {
                TempData["error"] = e.Message;
            }
            return(RedirectToAction("Drinks", "Admin"));
        }