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)); }
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 })); }