Example #1
0
        public ActionResult AddCook(int restaurantId)
        {
            RestaurantDTO requiredRestaurant;

            try
            {
                requiredRestaurant = _restaurantService.GetRestaurantWithId(restaurantId);
            }
            catch (RestaurantNotFoundException)
            {
                return(NotFound("restaurant not found"));
            }
            ViewBag.Restaurant = requiredRestaurant;
            var model = new CreateCookRequest {
                AvailableQualifications = new List <string> {
                    "russian", "italian", "japanese"
                }
            };

            return(View(model));
        }
Example #2
0
        public ActionResult AddCook(int restaurantId, CreateCookRequest req)
        {
            try
            {
                _restaurantService.GetRestaurantWithId(restaurantId);
            }
            catch (RestaurantNotFoundException)
            {
                return(NotFound("Restaurant not found"));
            }

            if (!ModelState.IsValid)
            {
                var errField = ModelState.FirstOrDefault(f => ModelState[f.Key].Errors.Count != 0);
                return(BadRequest(ModelState[errField.Key].Errors + errField.Key));
            }
            var shift    = req.Shift == "evening" ? CookDTO.ShiftType.Evening : CookDTO.ShiftType.Morning;
            var workdays = req.Workdays == 5 ? CookDTO.WorkdaysType.Five : CookDTO.WorkdaysType.Two;
            var quals    = new List <CookDTO.QualificationsType>(req.Qualification.Count);

            foreach (var qual in req.Qualification)
            {
                var addedQual = qual == "italian" ? CookDTO.QualificationsType.Italian :
                                qual == "russian" ? CookDTO.QualificationsType.Russian : CookDTO.QualificationsType.Japanese;
                quals.Add(addedQual);
            }
            this._cookService.CreateNewCook(req.FirstName,
                                            req.SecondName,
                                            req.LastName,
                                            workdays,
                                            quals,
                                            shift,
                                            req.WorkdayLength,
                                            restaurantId);
            return(RedirectToAction("SpecificRestaurant", new { id = restaurantId }));
        }