Ejemplo n.º 1
0
        public DefaultResponse CreateDrink(DrinkRequest.CreateDrink request)
        {
            try
            {
                if (_drinkService.Create(request.Caption, request.Image, request.Cost, request.Count) != null)
                {
                    return new DefaultResponse
                           {
                               Message   = string.Empty,
                               ErrorCode = 0
                           }
                }
                ;

                return(new DefaultResponse
                {
                    Message = "Ошибка при создании напитка",
                    ErrorCode = 1
                });
            }
            catch (Exception e)
            {
                return(new DefaultResponse
                {
                    Message = e.Message,
                    ErrorCode = 2
                });
            }
        }
        public ActionResult CreateDrink(DrinkViewModel.NewDrink model)
        {
            //Проверяем модель на валидность
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            try
            {
                #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.CreateDrink request = new DrinkRequest.CreateDrink
                {
                    Caption = model.Caption,
                    Image   = model.Image,
                    Count   = model.Count,
                    Cost    = model.Cost
                };
                HttpResponseMessage result = HttpService.PostAsync("api/drink/CreateDrink", 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"));
        }