示例#1
0
        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();
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }