public Order SaveOrder(Order order) { bool orderSuccess = true; var orderId = Guid.NewGuid(); order.Id = orderId; order.OrderItem.ToList().ForEach(delegate(OrderItem orderItem) { orderItem.OrderId = orderId; if (!IsFoodItemAvailableInVendorMenu(order.VenderId, orderItem.FoodItemId)) { orderSuccess = false; return; } }); if (!orderSuccess) { throw new Exception("Item not available in menu"); } else { order.OrderDateTime = DateTime.Now; eCanteenEntities.Order.Add(order); eCanteenEntities.SaveChanges(); return(order); } }
public void SaveFoodItem(FoodItem foodItem, int menuType, Guid vendorId) { if (foodItem.Id != null && foodItem.Id != Guid.Empty) { foodItem.LastUpdate = DateTime.Now; eCanteenEntities.Entry(foodItem).State = EntityState.Modified; } else { foodItem.Id = Guid.NewGuid(); foodItem.LastUpdate = DateTime.Now; eCanteenEntities.FoodItem.Add(foodItem); eCanteenEntities.MenuFoodItem.Add(new MenuFoodItem { FoodItemId = foodItem.Id, Type = menuType, Availability = true, VendorId = vendorId }); } eCanteenEntities.SaveChanges(); }
public bool Register(Customer customer) { if (eCanteenEntities.Customer.Any(cust => cust.Email.Equals(customer.Email.ToLower().Trim()))) { return(false); } if (customer.Id != null && customer.Id != Guid.Empty) { eCanteenEntities.Entry(customer).State = EntityState.Modified; } else { customer.Id = Guid.NewGuid(); eCanteenEntities.Customer.Add(customer); } eCanteenEntities.SaveChanges(); SendRegistrationConfirmationMail(customer); return(true); }
public bool Register(Vendor vendor) { if (eCanteenEntities.Vendor.Any(vd => vd.Email.Equals(vendor.Email.ToLower().Trim()))) { return(false); } if (vendor.Id != null && vendor.Id != Guid.Empty) { eCanteenEntities.Entry(vendor).State = EntityState.Modified; } else { vendor.Id = Guid.NewGuid(); vendor.Active = true; eCanteenEntities.Vendor.Add(vendor); } if (!string.IsNullOrEmpty(vendor.Logo)) { byte[] imageBytes = Convert.FromBase64String(vendor.Logo.Replace("data:image/png;base64,", "")); MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length); // Convert byte[] to Image ms.Write(imageBytes, 0, imageBytes.Length); Image image = Image.FromStream(ms, true); string logoPath = "../../Content/VendorLogo/" + vendor.Id + "_logo" + ".png"; vendor.Logo = logoPath; image.Save(HttpContext.Current.Server.MapPath("~/Content/VendorLogo/" + vendor.Id + "_logo" + ".png"), System.Drawing.Imaging.ImageFormat.Png); } eCanteenEntities.SaveChanges(); return(true); }