public static TableDetailsViewModel ToTableDetails(this Table table) { var model = new TableDetailsViewModel(); model.Id = table.Id; model.TableName = table.TableName; var openReceipt = table.Receipts.FirstOrDefault(x => !x.DateClosed.HasValue); if (openReceipt != null) { model.Products = openReceipt.ProductReceipts.Select(x => x.ToProductReceiptViewModel()).ToList(); } else { model.Products = new List <ProductReceiptViewModel>(); } return(model); }
public ActionResult Index(string restaurantName, Guid?tableId) { var table = this.tableService.GetTableByID(tableId); var addedProductsViewModel = table.Products.AsQueryable().MapTo <ProductViewModel>().ToList(); var allProductsViewModel = this.productService.GetAll().MapTo <ProductViewModel>().ToList(); if (table.Products.Count == 0 && table.IsFree) { this.tableService.ChangeTableStatus(table); } var tablesDetailsViewModel = new TableDetailsViewModel() { Id = table.Id, Number = table.Number, RestaurantName = restaurantName, AddedProducts = addedProductsViewModel, Products = allProductsViewModel }; return(this.View(tablesDetailsViewModel)); }
public ActionResult Details(int id, bool?preview) { FindTableDetailsQueryResult result = Query.For <FindTableDetailsQueryResult>().With(new TableDetailsCriterion(id) { IsPreview = preview.HasValue && preview.Value }); if (result == null) { return(RedirectToAction("Index")); } TableDetailsViewModel vm = new TableDetailsViewModel { Id = result.Id, Name = result.Name, Columns = result.Columns.Select(ToViewModel), IsPreview = preview }; return(View(vm)); }