public RestaurantShemaViewModel GetRestaurantViewModelSchema(int?id) { using (GoodTasteContext context = new GoodTasteContext()) { try { Restaurant Rest = context.Restaurants.Find(id); RestaurantSchema Schema = Rest.RestaurantSchemas.FirstOrDefault(); Schema = context.RestaurantSchemas.Include(t => t.Restaurant).FirstOrDefault(t => t.Id == id); Schema = context.RestaurantSchemas.Include(t => t.Tables).FirstOrDefault(); RestaurantShemaViewModel vmSchema = new RestaurantShemaViewModel(); vmSchema.Id = Schema.Id; vmSchema.Name = Schema.Name; vmSchema.RestaurantId = Convert.ToInt32(id); List <TableViewModel> vmTables = new List <TableViewModel>(); foreach (var table in Schema.Tables) { TableViewModel vmTable = new TableViewModel { Id = table.Id, X = table.X, Y = table.Y, Seats = table.Seats, ReservedAndConfirmed = false, Reserved = false }; foreach (var reserv in table.TableReservation) { if (reserv.Date.Date == DateTime.Now.Date && reserv.ReservedAndConfirmed == true) { vmTable.ReservedAndConfirmed = true; break; } else if (reserv.Date.Date == DateTime.Now.Date && reserv.Reserved == true) { vmTable.Reserved = true; break; } } vmTables.Add(vmTable); } vmSchema.Tables = vmTables; vmSchema.XLength = Schema.XLength; vmSchema.YLength = Schema.YLength; return(vmSchema); } catch { throw new Exception("Restaurant not found"); } } }
public async Task <ActionResult> Schema(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DataManagerCreator factory = new DefaultDataManagerCreator(); IBaseDataManager manager = factory.GetBaseDataManager(); RestaurantSchema Schema = manager.GetRestaurantSchema(id); RestaurantShemaViewModel schema = manager.GetRestaurantViewModelSchema(id); if (Schema == null) { return(HttpNotFound()); } return(View(schema)); }