public int AddNewDishBasic(string restId, int menuPartId, Dish dish)
{
log.InfoFormat("[AddNewDishBasic] RestaurantId={0}, MenuPartId={1}, Dish={2}.", restId, menuPartId.ToString(), dish.ToString());
try
{
dish.CreatedAt = DateTime.Now;
dish.UpdatedAt = DateTime.Now;
RestaurantBasicData tempRest = GetRestaurantBasicById(restId);
if (tempRest.Menu.MenuParts.FirstOrDefault(mp => mp.Id == menuPartId).Dishes.Count == 0)
dish.Id = 0;
if (tempRest.Menu.MenuParts.FirstOrDefault(mp => mp.Id == menuPartId).Dishes.Count > 0)
dish.Id = tempRest.Menu.MenuParts.FirstOrDefault(mp => mp.Id == menuPartId).Dishes.Max(c => c.Id) + 1;
dish.ItemLocation = tempRest.ItemLocation;
tempRest.Menu.MenuParts.FirstOrDefault(mp => mp.Id == menuPartId).Dishes.Add(dish);
UpdateRestaurant(tempRest);
return dish.Id;
}
catch (Exception ex)
{
log.InfoFormat("[AddNewDish] Exception={0}, RestaurantId={1}, MenuPartId={2}, Dish={3} ", ex.ToString(), restId, menuPartId, dish.ToString());
return -1;
}
}