Esempio n. 1
0
        public static Restaurant ConvertRestaurantVMToRestaurant(RestaurantVM restaurantVM)
        {
            if (restaurantVM != null)
            {
                Restaurant restaurant = new Restaurant();
                //restaurant.Name = restaurantVM.Name;
                //restaurant.Address = restaurantVM.Address;
                //restaurant.Amenities = restaurantVM.Amenities;
                //restaurant.City = restaurantVM.City;
                //restaurant.Country = restaurantVM.Country;
                //restaurant.Style = restaurantVM.Style;
                //restaurant.Desrciption = restaurantVM.Desrciption;
                //restaurant.PhoneNumber = restaurantVM.PhoneNumber;
                //restaurant.OpeningHoursFrom = restaurantVM.OpeningHoursFrom;
                //restaurant.OpeningHoursTo = restaurantVM.OpeningHoursTo;
                //restaurant.PaymentMethods = restaurantVM.PaymentMethods;

                //restaurant.RestaurantManager = new RestaurantManager();
                //restaurant.RestaurantManager.Email = restaurantVM.Email;
                //restaurant.RestaurantManager.Username = restaurantVM.Username;
                //restaurant.RestaurantManager.Password = Cryptography.GetMD5Hash(restaurantVM.Password);

                return(restaurant);
            }
            else
            {
                return(null);
            }
        }
Esempio n. 2
0
        public RestaurantVM getRestaurant(string id, int restaurantId)
        {
            int seatId = _db.Users.Where(u => u.Id == id).FirstOrDefault().SeatInfo.Id;

            //create a new order to go along with this restaurant
            postAddItem(id, restaurantId, null);

            //get restaurant info
            RestaurantVM vm = _db.Restaurants
                              .Where(r => r.Id == restaurantId)
                              .Select(r => new RestaurantVM
            {
                SeatId     = seatId,
                Name       = r.Name,
                Categories = r.Categories.Select(c => new CategoryListVM
                {
                    Id    = c.Id,
                    Name  = c.Name,
                    Items = c.Items.Select(i => new ItemListVM
                    {
                        Id          = i.Id,
                        Name        = i.Name,
                        ImageUrl    = i.ImageUrl,
                        Description = i.Description,
                        Price       = i.Price,
                        Discount    = i.Discount,
                        IsAlcohol   = i.IsAlcohol
                    }).ToList()
                }).ToList()
            }).FirstOrDefault();

            return(vm);
        }
        public ActionResult Create(RestaurantVM rvm)
        {
            if (ModelState.IsValid)
            {
                var        userId     = User.Identity.GetUserId();
                Restaurant restaurant = new Restaurant(rvm);
                if (rvm.CreateGroup)
                {
                    restaurant.RestaurantGroup = new RestaurantGroup
                    {
                        Name    = rvm.GroupName,
                        OwnerId = userId
                    };
                }
                else
                {
                    restaurant.GroupId = rvm.GroupId;
                }
                db.Restaurants.Add(restaurant);


                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            var ownerID = User.Identity.GetUserId();

            ViewBag.GroupId = new SelectList(db.RestaurantGroups.Where(x => x.OwnerId == ownerID),
                                             "Id", "Name", rvm.GroupId);
            return(View(rvm));
        }
Esempio n. 4
0
        private static RestaurantVM ConvertRestaurantToRestaurantVM(Restaurant restaurant)
        {
            if (restaurant != null)
            {
                RestaurantVM restaurantVM = new RestaurantVM();
                //restaurantVM.Id = restaurant.Id;
                //restaurantVM.Name = restaurant.Name;
                //restaurantVM.Address = restaurant.Address;
                //restaurantVM.Amenities = restaurant.Amenities;
                //restaurantVM.City = restaurant.City;
                //restaurantVM.Country = restaurant.Country;
                //restaurantVM.Style = restaurant.Style;
                //restaurantVM.Desrciption = restaurant.Desrciption;
                //restaurantVM.PhoneNumber = restaurant.PhoneNumber;
                //restaurantVM.OpeningHoursFrom = restaurant.OpeningHoursFrom;
                //restaurantVM.OpeningHoursTo = restaurant.OpeningHoursTo;
                //restaurantVM.PaymentMethods = restaurant.PaymentMethods;
                //restaurantVM.Email = restaurant.RestaurantManager.Email;
                //restaurantVM.Username = restaurant.RestaurantManager.Username;

                return(restaurantVM);
            }
            else
            {
                return(null);
            }
        }
        public IActionResult Create(RestaurantVM model)
        {
            if (ModelState.IsValid && model.Name.Length != 0)
            {
                string uniqueFileName = null;
                var    user           = _userManager.GetUserAsync(HttpContext.User);

                if (model.PhotoFile != null)
                {
                    string uploadsFolder = Path.Combine(_env.WebRootPath, "ImageRestaurant");
                    uniqueFileName = Guid.NewGuid().ToString() + "_" + model.PhotoFile.FileName;
                    string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                    ResizeImage(model.PhotoFile.OpenReadStream(), filePath);
                }
                Restaurant restaurant = new Restaurant
                {
                    Name       = model.Name,
                    ZdjecieUrl = uniqueFileName,
                    City       = model.City,
                    User       = user.Result,
                };

                _Repository.AddRestaurant(restaurant);
                return(RedirectToAction(nameof(Index)));
            }
            return(View("Model is not valid"));
        }
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Restaurant restaurant = db.Restaurants.Find(id);

            if (restaurant == null)
            {
                return(HttpNotFound());
            }
            var rvm = new RestaurantVM(restaurant);

            return(View(rvm));
        }
        public ActionResult Edit(RestaurantVM rvm)
        {
            var restaurant = db.Restaurants.Find(rvm.Id);

            restaurant.UpdateFromVM(rvm);
            if (ModelState.IsValid)
            {
                db.Entry(restaurant).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            var ownerID = User.Identity.GetUserId();

            ViewBag.GroupId = new SelectList(db.RestaurantGroups.Where(x => x.OwnerId == ownerID), "Id", "Name", restaurant.GroupId);
            return(View(restaurant));
        }
        public ActionResult _DetailsPane(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Restaurant restaurant = db.Restaurants.Find(id);

            if (restaurant == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Managers = new List <UserProfile>(db.UserProfiles.Where(x => x.Person.RestaurantId == id));
            var rvm = new RestaurantVM(restaurant);

            return(PartialView(rvm));
        }
        private void SelectEmployees(Restaurant restaurant, Alert alert)
        {
            string restName  = new RestaurantVM(restaurant).Name;
            int    today     = (int)DateTime.Today.DayOfWeek;
            var    employees = db.ScheduleDays
                               .Where(w => w.DayOfWeek == today).ToList()
                               .Where(x => x.StartTime > DateTime.Now - DateTime.Today)
                               .Select(y => y.Person)
                               .Concat(restaurant.People.Where(x => x.UserProfiles.Any()))
                               .Concat(new Person[] { restaurant.RestaurantGroup.OwnerProfile.Person })
                               .Distinct()
                               .Where(z => z.RestaurantId == restaurant.Id || z.RestaurantId == null).ToList();

            foreach (var employee in employees)
            {
                alert.SendAlert(employee, restName, Url);
            }
        }
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Restaurant restaurant = db.Restaurants.Find(id);

            if (restaurant == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Managers       = new List <UserProfile>(db.UserProfiles.Where(x => x.Person.RestaurantId == id));
            ViewBag.OtherLocations = new List <Restaurant>(db.Restaurants.
                                                           Where(x => x.GroupId == restaurant.GroupId && x.Id != id));
            var rvm = new RestaurantVM(restaurant);

            return(View(rvm));
        }
Esempio n. 11
0
        public ActionResult Edit([Bind(Include = "Id,CompanyId,Name,PhoneNo,AddressStreet,AddressTown,AddressCounty,AddressPostalCode")] RestaurantVM restaurant)
        {
            if (ModelState.IsValid)
            {
                Restaurant res = _restaurantFacade.Update(new Restaurant
                {
                    Id                = restaurant.Id,
                    CompanyId         = restaurant.CompanyId,
                    Name              = restaurant.Name,
                    PhoneNo           = restaurant.PhoneNo,
                    AddressStreet     = restaurant.AddressStreet,
                    AddressTown       = restaurant.AddressTown,
                    AddressCounty     = restaurant.AddressCounty,
                    AddressPostalCode = restaurant.AddressPostalCode
                });
                return(RedirectToAction("Details", new { Id = res.Id }));
            }

            return(View(restaurant));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Restaurant restaurant = db.Restaurants.Find(id);

            if (restaurant == null)
            {
                return(HttpNotFound());
            }
            var ownerID = User.Identity.GetUserId();

            ViewBag.GroupId = new SelectList(db.RestaurantGroups.Where(x => x.OwnerId == ownerID),
                                             "Id", "Name", restaurant.GroupId);
            var rvm = new RestaurantVM(restaurant);

            return(View(rvm));
        }
Esempio n. 13
0
 public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
 {
     if (value is RestaurantVM)
     {
         RestaurantVM restaurantVM = value as RestaurantVM;
         if (!restaurantVM.Closed)
         {
             if (restaurantVM.SearchResultData.IsDeliveryAvailable && restaurantVM.SearchResultData.IsPickupAvailable)
             {
                 return(string.Empty);
             }
             if (restaurantVM.SearchResultData.IsDeliveryAvailable)
             {
                 return(string.Empty);
             }
             if (restaurantVM.SearchResultData.IsPickupAvailable)
             {
                 return(AppResources.PickupOnly);
             }
         }
     }
     return(string.Empty);
 }
Esempio n. 14
0
        public static RestaurantVM UpdateRestaurantDetails(RestaurantVM restaurantVM)
        {
            try
            {
                //Restaurant restaurant = db.Restaurants.Find(restaurantVM.Id);

                //restaurant.Name = restaurantVM.Name;
                //restaurant.Address = restaurantVM.Address;
                //restaurant.Amenities = restaurantVM.Amenities;
                //restaurant.City = restaurantVM.City;
                //restaurant.Country = restaurantVM.Country;
                //restaurant.Style = restaurantVM.Style;
                //restaurant.Desrciption = restaurantVM.Desrciption;
                //restaurant.PhoneNumber = restaurantVM.PhoneNumber;
                //restaurant.OpeningHoursTo = restaurantVM.OpeningHoursTo;
                //restaurant.OpeningHoursFrom = restaurantVM.OpeningHoursFrom;
                //restaurant.PaymentMethods = restaurantVM.PaymentMethods;
                //restaurant.RestaurantManager.Email = restaurantVM.Email;
                //restaurant.RestaurantManager.Username = restaurantVM.Username;

                //if (!string.IsNullOrEmpty(restaurantVM.Password))
                //{
                //    restaurant.RestaurantManager.Password =restaurantVM.Password;
                //}

                //db.SaveChanges();

                //restaurantVM.Password = "";
                //restaurantVM.ConfirmPassword = "";

                return(restaurantVM);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 15
0
        public ActionResult Create(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            //var ownerID = User.Identity.GetUserId();
            //var ourItems = db.RestaurantItems.Where(x => x.Restaurant.RestaurantGroup.OwnerId == ownerID).Select(x => x.ItemId);
            var myItemIds = db.RestaurantItems.Where(x => x.RestaurantId == id).Select(x => x.ItemId);
            var newItemsA = db.RestaurantItems.Where(x => x.RestaurantId != id && !myItemIds.Contains(x.ItemId)).Select(y => y.Item).ToList();
            var newItemsB = db.Items.Where(x => !x.RestaurantItems.Any()).ToList();
            var newItems  = newItemsA.Concat(newItemsB).ToList();

            newItems.Sort();
            var rvm = new RestaurantVM(db.Restaurants.Find(id));

            ViewBag.RestaurantName = rvm.Name;
            ViewBag.ItemId         = new SelectList(newItems, "Id", "Name");
            ItemVM itemVM = new ItemVM {
                RestaurantId = id.Value
            };

            return(View(itemVM));
        }
        public RestaurantMenuItemModifierPage(RestaurantVM restaurantVM, MenuItemViewModel menuItemView, MenuGroupModifierItem menuGroupModifierItem = null)
        {
            RestaurantVM          = restaurantVM;
            MenuItemView          = menuItemView;
            MenuItemVM            = menuItemView.RestaurantMenuItem.MenuItemVM;
            MenuGroupModifierItem = menuGroupModifierItem;

            Price = MenuItemVM.MenuItem.BasePrice;

            InitializeComponent();

            NavigationPage.SetBackButtonTitle(this, AppResources.Back);

            //this.NumberEntryViewQuantity.Entry.Text = "1";
            this.Quantity = 1;

            //this.ToolbarItems.Add(new ToolbarItem()
            //{
            //	Icon = "check_white.png",
            //	Command = new Command(() =>
            //	{
            //		SaveOrAddToCart();
            //	}),
            //});

            if (MenuGroupModifierItem != null)
            {
                //this.NumberEntryViewQuantity.Entry.Text = Convert.ToString(MenuGroupModifierItem.Quantity);
                this.Quantity        = MenuGroupModifierItem.Quantity;
                Feedback             = MenuGroupModifierItem.Comment;
                ButtonAddToCart.Text = AppResources.Save;
            }

            ButtonAddToCart.Clicked += (sender, e) =>
            {
                SaveOrAddToCart();
            };

            //ButtonFeedbackDone.Clicked += (sender, e) =>
            //{
            //	EditorFeedback.Unfocus();
            //	GridFeedback.IsVisible = false;
            //};

            //this.NumberEntryViewQuantity.Entry.TextChanged += (sender, e) =>
            //{
            //	Device.BeginInvokeOnMainThread(() =>
            //	{
            //		Price = UpdatePrice(this.MenuItemVM, this.MenuItemModifiers, this.Quantity);
            //	});
            //};

            ListViewModifiers.ItemSelected += (sender, e) =>
            {
                if (e.SelectedItem != null)
                {
                    ListViewModifiers.SelectedItem = null;
                    ModifierItemViewModel modifierItemView = e.SelectedItem as ModifierItemViewModel;
                    if (modifierItemView.IsItem && modifierItemView.IsEnabled)
                    {
                        if (modifierItemView.MenuModifierVM.SubMenuModifiers.Count > 0)
                        {
                            RestaurantMenuItemSubModifierPage restaurantMenuItemSubModifierPage = new RestaurantMenuItemSubModifierPage(this, modifierItemView);
                            Utils.PushAsync(Navigation, restaurantMenuItemSubModifierPage, true);
                        }
                        else
                        {
                            modifierItemView.IsSelected = !modifierItemView.IsSelected;
                            modifierItemView.Save();
                        }
                    }
                }
            };
        }
        public RestaurantDetailPage(RestaurantVM restaurantVM, DateTime deliveryDate, string deliveryTime)
        {
            try
            {
                SelectedDate = new DateTime(deliveryDate.Year, deliveryDate.Month, deliveryDate.Day).Add(DateTime.ParseExact(deliveryTime,
                                                                                                                             "hh:mm tt", CultureInfo.InvariantCulture).TimeOfDay);

                this.RestaurantVM = restaurantVM;

                InitializeComponent();

                NavigationPage.SetBackButtonTitle(this, AppResources.Back);

                mAppServices = DependencyService.Get <IAppServices>();

                this.RestaurantTimeZone = mAppServices.GetTimeZoneById(RestaurantVM.Location.TimeZone);
                if (this.RestaurantTimeZone == null)
                {
                    this.RestaurantTimeZone = TimeZoneInfo.Local;
                }

                this.IsDeliverySelected = true;

                LabelItemCarts.FontSize  = Device.GetNamedSize(NamedSize.Small, LabelItemCarts) * 0.7;
                LabelItemsPrice.FontSize = Device.GetNamedSize(NamedSize.Medium, LabelItemsPrice) * 0.63;
                LabelFees.FontSize       = Device.GetNamedSize(NamedSize.Small, LabelFees) * 0.7;

                GridCheckButton.SizeChanged += (sender, e) =>
                {
                    if (GridCheckButton.Height > 1 && GridCheckButton.Width > 1)
                    {
                        GridCheckout.HeightRequest = GridCheckButton.Height;
                        //GridCheckout.HeightRequest = ImageCheckButton.Height;
                        //GridCheckButton.HeightRequest = ImageCheckButton.Height;
                        //GridCheckButton.WidthRequest = ImageCheckButton.Width;
                        if (this.Width >= 480)
                        {
                            LabelItemCarts.FontSize  = Device.GetNamedSize(NamedSize.Small, LabelItemCarts) * 1.11;
                            LabelItemsPrice.FontSize = Device.GetNamedSize(NamedSize.Medium, LabelItemsPrice) * 1.11;
                            LabelFees.FontSize       = Device.GetNamedSize(NamedSize.Small, LabelFees) * 1.11;
                        }
                        else if (this.Width >= 400)
                        {
                            LabelItemCarts.FontSize  = Device.GetNamedSize(NamedSize.Small, LabelItemCarts) * 0.99;
                            LabelItemsPrice.FontSize = Device.GetNamedSize(NamedSize.Medium, LabelItemsPrice) * 0.99;
                            LabelFees.FontSize       = Device.GetNamedSize(NamedSize.Small, LabelFees) * 0.99;
                        }
                        else if (this.Width >= 350)
                        {
                            LabelItemCarts.FontSize  = Device.GetNamedSize(NamedSize.Small, LabelItemCarts) * 0.88;
                            LabelItemsPrice.FontSize = Device.GetNamedSize(NamedSize.Medium, LabelItemsPrice) * 0.88;
                            LabelFees.FontSize       = Device.GetNamedSize(NamedSize.Small, LabelFees) * 0.88;
                        }
                        else
                        {
                            LabelItemCarts.FontSize  = Device.GetNamedSize(NamedSize.Small, LabelItemCarts) * 0.8;
                            LabelItemsPrice.FontSize = Device.GetNamedSize(NamedSize.Medium, LabelItemsPrice) * 0.8;
                            LabelFees.FontSize       = Device.GetNamedSize(NamedSize.Small, LabelFees) * 0.72;
                        }
                        GridCheckButton.IsVisible = true;
                    }
                };

                GridCheckButton.GestureRecognizers.Add(new TapGestureRecognizer()
                {
                    Command = new Command(() =>
                    {
                        if (CheckHolidayVisible)
                        {
                            DisplayAlert(AppResources.RestaurantIsClosed, "", AppResources.OK);
                        }
                        else
                        {
                            var myCartPage = new MyCartPage(this);
                            Utils.PushAsync(Navigation, myCartPage, true);
                        }
                    }),
                });
            }
            catch (Exception e)
            {
                ExceptionHandler.Catch(e);
            }
        }