Exemple #1
0
        //Edit Waitlist Party
        public IActionResult WaitlistEditParty(int id)
        {
            LogRestaurant();
            if (TempData["ErrorMessage"] != null)
            {
                ViewBag.ErrorMessage = TempData["ErrorMessage"];
            }
            if (TempData["Message"] != null)
            {
                ViewBag.Message = TempData["Message"];
            }
            var waitlist = RestaurantsManager.GetWaitlistById(id);
            var viewWait = new WaitCustomerModelView
            {
                CustomerId       = (int)waitlist.CustomerId,
                Restaurant       = waitlist.Restaurant.RestaurantName,
                WaitlistEntryId  = waitlist.WaitlistEntryId,
                PartySizew       = waitlist.PartySize,
                WaitlistStatus   = waitlist.WaitlistStatus,
                EntryOriginw     = waitlist.EntryOrigin,
                WaitlistPosition = "-"
            };

            if (waitlist.WaitlistStatus == "active")
            {
                int waitPos = RestaurantsManager.GetWaitlistPosition((int)waitlist.RestaurantId, waitlist.WaitlistEntryId);
                viewWait.WaitlistPosition = Convert.ToString(waitPos);
            }
            return(View(viewWait));
        }
        public async Task <IViewComponentResult> InvokeAsync(int id)
        {
            var restaurantOwners = RestaurantsManager.GetRestauranOwnersByID(id);
            List <OwnerModelView> viewRestaurantOwners = new List <OwnerModelView>();

            foreach (RestaurantOwners rowner in restaurantOwners)
            {
                if (rowner.Request == true)
                {
                    var    ownerUser = UsersManager.GetUserByUserId(rowner.Owner.UserId);
                    string fullName  = $"{ownerUser.FirstName} {ownerUser.LastName}";
                    var    viewOwner = new OwnerModelView
                    {
                        RestaurantId  = rowner.RestaurantId,
                        OwnerId       = rowner.OwnerId,
                        UserId        = ownerUser.UserId,
                        OwnerFullName = fullName,
                        Active        = rowner.Active,
                        Status        = rowner.Status,
                        StartDate     = (DateTime)rowner.StartDate,
                        EndDate       = rowner.EndDate,
                        RequestFlag   = rowner.Request,
                        RequestStatus = rowner.RequestStatus
                    };
                    viewRestaurantOwners.Add(viewOwner);
                }
            }
            return(View(viewRestaurantOwners));
        }
Exemple #3
0
        //Approve Employee's Application
        public IActionResult EmployeeApprove(int id)
        {
            LogRestaurant();
            ClaimsPrincipal cp                 = this.User;
            var             claims             = cp.Claims.ToList();
            var             restId             = Convert.ToInt32(claims.SingleOrDefault(p => p.Type == "RestaurantID").Value);
            var             userId             = EmployeesManager.GetUserIdByEmployeeId(id);
            var             authId             = UsersManager.GetAuthIdByUserId(userId);
            var             restaurantEmployee = RestaurantsManager.RestaurantByEmployeeId(restId, id);

            restaurantEmployee.NewRequestFlag = false;
            restaurantEmployee.Status         = "Employee";
            restaurantEmployee.RequestStatus  = "Approved";
            restaurantEmployee.Active         = true;
            RestaurantsManager.UpdateRestaurantEmployee(restaurantEmployee);
            var authRestaurant = UsersManager.GetAuthenticationMatrixByIDs(restId, authId);

            if (authRestaurant == null)
            {
                var authRest = new AuthenticationMatrix
                {
                    RestaurantId     = restId,
                    AuthenticationId = authId,
                    Role             = "Employee"
                };
                UsersManager.AddOwnerToAuthetication(authRest);
            }
            else
            {
                authRestaurant.Role = "Employee";
                UsersManager.UpdateAuthenticationMatrixByIDs(authRestaurant);
            }
            return(RedirectToAction("RestaurantEmployeesShow"));
        }
Exemple #4
0
        public async Task <IViewComponentResult> InvokeAsync(int id)
        {
            var restaurantEmployees = RestaurantsManager.GetRestauranEmployeesByID(id);
            List <EmployeeModelView> viewRestaurantEmployees = new List <EmployeeModelView>();

            foreach (RestaurantEmployees remployee in restaurantEmployees)
            {
                if (remployee.NewRequestFlag == true)
                {
                    var    employeeUser = UsersManager.GetUserByUserId(remployee.Employee.UserId);
                    string fullName     = $"{employeeUser.FirstName} {employeeUser.LastName}";
                    var    viewEmployee = new EmployeeModelView
                    {
                        RestaurantId     = remployee.RestaurantId,
                        EmployeeId       = remployee.EmployeeId,
                        UserId           = employeeUser.UserId,
                        EmployeeFullName = fullName,
                        Active           = remployee.Active,
                        Status           = remployee.Status,
                        StartDate        = (DateTime)remployee.StartDate,
                        EndDate          = remployee.EndDate,
                        RequestFlag      = remployee.NewRequestFlag,
                        RequestStatus    = remployee.RequestStatus
                    };
                    viewRestaurantEmployees.Add(viewEmployee);
                }
            }
            return(View(viewRestaurantEmployees));
        }
Exemple #5
0
        //Edit Reservation
        public IActionResult ReservationEdit(int id)
        {
            LogRestaurant();
            if (TempData["ErrorMessage"] != null)
            {
                ViewBag.ErrorMessage = TempData["ErrorMessage"];
            }
            if (TempData["Message"] != null)
            {
                ViewBag.Message = TempData["Message"];
            }
            var reservation     = RestaurantsManager.GetReservationById(id);
            var viewReservation = new ResCustomerModelView
            {
                RestaurantID       = (int)reservation.RestaurantId,
                CustomerId         = (int)reservation.CustomerId,
                Restaurant         = reservation.Restaurant.RestaurantName,
                ReservationEntryId = reservation.ReservationId,
                PartySize          = reservation.PartySize,
                ReservationStatus  = reservation.ReservationStatus,
                EntryOrigin        = reservation.EntryOrigin,
                ReservationDate    = reservation.ReservationDateTime
            };

            return(View(viewReservation));
        }
        public async Task <IViewComponentResult> InvokeAsync(int id)
        {
            var reservations = RestaurantsManager.GetManageReservations(id);

            List <ResCustomerModelView> viewReservations = new List <ResCustomerModelView>();

            foreach (ReservationEntry resAux in reservations)
            {
                if (resAux.ReservationStatus == "on Hold")
                {
                    var customer        = CustomersManager.GetCustomerByCustomerId(resAux.CustomerId);
                    var viewReservation = new ResCustomerModelView
                    {
                        RestaurantID       = (int)resAux.RestaurantId,
                        CustomerId         = (int)resAux.CustomerId,
                        CustomerName       = $"{customer.User.FirstName} {customer.User.LastName}",
                        Restaurant         = resAux.Restaurant.RestaurantName,
                        ReservationEntryId = resAux.ReservationId,
                        PartySize          = resAux.PartySize,
                        ReservationStatus  = resAux.ReservationStatus,
                        EntryOrigin        = resAux.EntryOrigin,
                        ReservationDate    = resAux.ReservationDateTime
                    };
                    viewReservations.Add(viewReservation);
                }
            }
            return(View(viewReservations));
        }
Exemple #7
0
        public IActionResult RestaurantOwnersShow()
        {
            LogRestaurant();
            ClaimsPrincipal       cp                   = this.User;
            var                   claims               = cp.Claims.ToList();
            var                   restId               = Convert.ToInt32(claims.SingleOrDefault(p => p.Type == "RestaurantID").Value);
            var                   restaurantOwners     = RestaurantsManager.GetRestauranOwnersByID(restId);
            List <OwnerModelView> viewRestaurantOwners = new List <OwnerModelView>();

            foreach (RestaurantOwners rowner in restaurantOwners)
            {
                if (rowner.Request == false)
                {
                    var    ownerUser = UsersManager.GetUserByUserId(rowner.Owner.UserId);
                    string fullName  = $"{ownerUser.FirstName} {ownerUser.LastName}";
                    var    viewOwner = new OwnerModelView
                    {
                        RestaurantId  = rowner.RestaurantId,
                        OwnerId       = rowner.OwnerId,
                        UserId        = ownerUser.UserId,
                        OwnerFullName = fullName,
                        Active        = rowner.Active,
                        Status        = rowner.Status,
                        StartDate     = (DateTime)rowner.StartDate,
                        EndDate       = rowner.EndDate,
                        RequestFlag   = rowner.Request,
                        RequestStatus = rowner.RequestStatus
                    };
                    viewRestaurantOwners.Add(viewOwner);
                }
            }
            ViewBag.RestaurantID = restId;
            return(View(viewRestaurantOwners));
        }
Exemple #8
0
        public IActionResult HostManage()
        {
            LogRestaurant();
            ClaimsPrincipal cp       = this.User;
            var             claims   = cp.Claims.ToList();
            var             restId   = Convert.ToInt32(claims.SingleOrDefault(p => p.Type == "RestaurantID").Value);
            var             waitlist = RestaurantsManager.GetWaitlistByRestaurantID(restId);
            List <WaitCustomerModelView> viewWaitlist = new List <WaitCustomerModelView>();

            foreach (WaitlistEntry waitAux in waitlist)
            {
                var customer          = CustomersManager.GetCustomerByCustomerId(waitAux.CustomerId);
                var viewWaitlistEntry = new WaitCustomerModelView
                {
                    RestaurantID     = (int)waitAux.RestaurantId,
                    CustomerId       = (int)waitAux.CustomerId,
                    CustomerName     = $"{customer.User.FirstName} {customer.User.LastName}",
                    Restaurant       = waitAux.Restaurant.RestaurantName,
                    WaitlistEntryId  = waitAux.WaitlistEntryId,
                    PartySizew       = waitAux.PartySize,
                    WaitlistStatus   = waitAux.WaitlistStatus,
                    EntryOriginw     = waitAux.EntryOrigin,
                    WaitlistPosition = Convert.ToString(RestaurantsManager.GetWaitlistPosition(restId, waitAux.WaitlistEntryId))
                };
                viewWaitlist.Add(viewWaitlistEntry);
            }
            var orderViewWaitlist = viewWaitlist.OrderBy(w => w.WaitlistPosition);

            ViewBag.RestaurantID = restId;
            return(View(orderViewWaitlist));
        }
Exemple #9
0
        //Edit Owner's details
        public IActionResult OwnerEdit(int id)
        {
            LogRestaurant();
            ClaimsPrincipal cp              = this.User;
            var             claims          = cp.Claims.ToList();
            var             restId          = Convert.ToInt32(claims.SingleOrDefault(p => p.Type == "RestaurantID").Value);
            var             restaurantOwner = RestaurantsManager.RestaurantByOwnerId(restId, id);
            var             ownerUser       = UsersManager.GetUserByUserId(restaurantOwner.Owner.UserId);
            string          fullName        = $"{ownerUser.FirstName} {ownerUser.LastName}";
            var             viewOwner       = new OwnerModelView
            {
                RestaurantId  = restaurantOwner.RestaurantId,
                OwnerId       = restaurantOwner.OwnerId,
                UserId        = ownerUser.UserId,
                OwnerFullName = fullName,
                Active        = restaurantOwner.Active,
                Status        = restaurantOwner.Status,
                StartDate     = (DateTime)restaurantOwner.StartDate,
                EndDate       = restaurantOwner.EndDate,
                RequestFlag   = restaurantOwner.Request,
                RequestStatus = restaurantOwner.RequestStatus
            };

            ViewBag.OwnerStatus = GetOwnerStatus();
            return(View(viewOwner));
        }
Exemple #10
0
        public IActionResult RestaurantEmployeesShow()
        {
            LogRestaurant();
            ClaimsPrincipal          cp     = this.User;
            var                      claims = cp.Claims.ToList();
            var                      restId = Convert.ToInt32(claims.SingleOrDefault(p => p.Type == "RestaurantID").Value);
            var                      restaurantEmployees     = RestaurantsManager.GetRestauranEmployeesByID(restId);
            List <EmployeeModelView> viewRestaurantEmployees = new List <EmployeeModelView>();

            foreach (RestaurantEmployees remployee in restaurantEmployees)
            {
                if (remployee.NewRequestFlag != true)
                {
                    var    employeeUser = UsersManager.GetUserByUserId(remployee.Employee.UserId);
                    string fullName     = $"{employeeUser.FirstName} {employeeUser.LastName}";
                    var    viewEmployee = new EmployeeModelView
                    {
                        RestaurantId     = remployee.RestaurantId,
                        EmployeeId       = remployee.EmployeeId,
                        UserId           = employeeUser.UserId,
                        EmployeeFullName = fullName,
                        Active           = remployee.Active,
                        Status           = remployee.Status,
                        StartDate        = (DateTime)remployee.StartDate,
                        EndDate          = remployee.EndDate,
                        RequestFlag      = remployee.NewRequestFlag,
                        RequestStatus    = remployee.RequestStatus
                    };
                    viewRestaurantEmployees.Add(viewEmployee);
                }
            }
            ViewBag.RestaurantID = restId;
            return(View(viewRestaurantEmployees));
        }
Exemple #11
0
        public IActionResult ReservationManage()
        {
            LogRestaurant();
            ClaimsPrincipal             cp               = this.User;
            var                         claims           = cp.Claims.ToList();
            var                         restId           = Convert.ToInt32(claims.SingleOrDefault(p => p.Type == "RestaurantID").Value);
            var                         reservations     = RestaurantsManager.GetManageReservations(restId);
            List <ResCustomerModelView> viewReservations = new List <ResCustomerModelView>();

            foreach (ReservationEntry resAux in reservations)
            {
                if (resAux.ReservationStatus != "on Hold")
                {
                    var customer        = CustomersManager.GetCustomerByCustomerId(resAux.CustomerId);
                    var viewReservation = new ResCustomerModelView
                    {
                        RestaurantID       = (int)resAux.RestaurantId,
                        CustomerId         = (int)resAux.CustomerId,
                        CustomerName       = $"{customer.User.FirstName} {customer.User.LastName}",
                        Restaurant         = resAux.Restaurant.RestaurantName,
                        ReservationEntryId = resAux.ReservationId,
                        PartySize          = resAux.PartySize,
                        ReservationStatus  = resAux.ReservationStatus,
                        EntryOrigin        = resAux.EntryOrigin,
                        ReservationDate    = resAux.ReservationDateTime
                    };
                    viewReservations.Add(viewReservation);
                }
            }
            ViewBag.RestaurantID = restId;
            return(View(viewReservations));
        }
        public ActionResult DishesRestaurant(int id)
        {
            if (HttpContext.Session.GetString("User") != null)
            {
                var restaurant = RestaurantsManager.GetRestaurant(id);
                ViewData["Address"] = restaurant;
                int idRestaurantCity = CitiesManager.GetRestaurantCity(id);
                HttpContext.Session.SetInt32("idCityRestaurant", idRestaurantCity);

                var order_dishes = new List <OrderDishmodel>();
                var dishes       = DishesManager.GetDishes(id);

                foreach (var item in dishes)
                {
                    var dishOrder = new Models.OrderDishmodel();
                    dishOrder.dish      = DishesManager.GetDish(item.IdDishes);
                    dishOrder.dish.Name = item.Name;

                    order_dishes.Add(dishOrder);
                }

                return(View(order_dishes));
            }
            else
            {
                return(RedirectToAction("Index", "Login"));
            }
        }
Exemple #13
0
        //Edit Reservation
        public IActionResult ReservationEdit(int id)
        {
            LogRestaurant();
            if (TempData["ErrorMessage"] != null)
            {
                ViewBag.ErrorMessage = TempData["ErrorMessage"];
            }
            if (TempData["Message"] != null)
            {
                ViewBag.Message = TempData["Message"];
            }

            var    reservation     = RestaurantsManager.GetReservationById(id);
            var    userId          = CustomersManager.GetUserIdByCustomerId(reservation.CustomerId);
            var    customerUser    = UsersManager.GetUserByUserId(userId);
            string fullName        = $"{customerUser.FirstName} {customerUser.LastName}";
            var    viewreservation = new ResCustomerModelView
            {
                CustomerName       = fullName,
                EntryOrigin        = reservation.EntryOrigin,
                PartySize          = reservation.PartySize,
                ReservationStatus  = reservation.ReservationStatus,
                ReservationDate    = reservation.ReservationDateTime,
                ReservationEntryId = reservation.ReservationId,
                RestaurantID       = reservation.RestaurantId
            };

            ViewBag.ReservationStatus = GetReservationStatus();
            return(View(viewreservation));
        }
        public async Task <IViewComponentResult> InvokeAsync(int id)
        {
            bool checkin;
            var  reservations = RestaurantsManager.GetCheckinTodayReservationsByRestaurantID(id);
            List <ResCustomerModelView> viewReservations = new List <ResCustomerModelView>();

            foreach (ReservationEntry resAux in reservations)
            {
                var customer = CustomersManager.GetCustomerByCustomerId(resAux.CustomerId);
                if (resAux.CheckinDateTime == null)
                {
                    checkin = false;
                }
                else
                {
                    checkin = true;
                }
                var viewReservation = new ResCustomerModelView
                {
                    RestaurantID       = (int)resAux.RestaurantId,
                    CustomerId         = (int)resAux.CustomerId,
                    CustomerName       = $"{customer.User.FirstName} {customer.User.LastName}",
                    Restaurant         = resAux.Restaurant.RestaurantName,
                    ReservationEntryId = resAux.ReservationId,
                    PartySize          = resAux.PartySize,
                    ReservationStatus  = resAux.ReservationStatus,
                    EntryOrigin        = resAux.EntryOrigin,
                    ReservationDate    = resAux.ReservationDateTime,
                    Checkin            = checkin
                };
                viewReservations.Add(viewReservation);
            }
            return(View(viewReservations));
        }
Exemple #15
0
 //Cancel Reservation
 public IActionResult ReservationCancel(int id)
 {
     LogRestaurant();
     RestaurantsManager.CancelReservation(id);
     TempData["Message"]      = "Your Reservation was cancelled!!!!";
     TempData["ErrorMessage"] = null;
     return(RedirectToAction(nameof(ReservationsShow)));
 }
Exemple #16
0
 //Cancel Waitlist Entry
 public IActionResult WaitlistCancel(int id)
 {
     LogRestaurant();
     RestaurantsManager.CancelPartySizeWaitlist(id);
     TempData["Message"]      = "Your Waitlist entry was cancelled!!!!";
     TempData["ErrorMessage"] = null;
     return(RedirectToAction(nameof(WaitlistShow)));
 }
Exemple #17
0
        //Set NoShow to Waitlist Entry
        public IActionResult WaitlistNoShow(int id)
        {
            LogRestaurant();
            var waitlistEntry = RestaurantsManager.GetWaitlistById(id);

            waitlistEntry.WaitlistStatus = "NoShow";
            RestaurantsManager.UpdateWaitlist(waitlistEntry);
            return(RedirectToAction("HostManage"));
        }
Exemple #18
0
        //Check-in Reservation
        public IActionResult ReservationCheckin(int id)
        {
            LogRestaurant();
            var reservation = RestaurantsManager.GetReservationById(id);

            reservation.CheckinDateTime = DateTime.Now;
            RestaurantsManager.UpdateReservation(reservation);
            return(RedirectToAction("HostManage"));
        }
        protected IEnumerable BasicGetRestaurants()
        {
            //call the Asset Type manager and get the collection of Key value objects
            var types = RestaurantsManager.GetAsKeyValuePairs();
            //Create a collection of SelecteListItems
            var styles = new SelectList(types, "Value", "Text");

            return(styles);
        }
Exemple #20
0
        //Approve Reservation
        public IActionResult ReservationApprove(int id)
        {
            LogRestaurant();
            var reservation = RestaurantsManager.GetReservationById(id);

            reservation.ReservationStatus = "confirmed";
            RestaurantsManager.UpdateReservation(reservation);
            return(RedirectToAction("ReservationManage"));
        }
Exemple #21
0
        //Set NoShow to Reservation
        public IActionResult ReservationNoShow(int id)
        {
            LogRestaurant();
            var reservation = RestaurantsManager.GetReservationById(id);

            reservation.ReservationStatus = "NoShow";
            RestaurantsManager.UpdateReservation(reservation);
            return(RedirectToAction("HostManage"));
        }
Exemple #22
0
        public IActionResult WaitlistCreate(WaitCustomerModelView viewWaitlist)
        {
            LogRestaurant();
            ClaimsPrincipal cp     = this.User;
            var             claims = cp.Claims.ToList();
            var             custId = Convert.ToInt32(claims.SingleOrDefault(p => p.Type == "CustomerID").Value);

            if (viewWaitlist.PartySizew <= 0)
            {
                TempData["Message"]      = null;
                TempData["ErrorMessage"] = "Sorry!!! Your Waitlist entry couldn't be created. Party size must be a non-zero positive number";

                return(RedirectToAction("WaitlistCreate"));
            }
            else
            {
                if (viewWaitlist.PartySizew >= 100)
                {
                    TempData["Message"]      = null;
                    TempData["ErrorMessage"] = "Sorry!!! Your Waitlist entry couldn't be created. Party size not supported by the Restaurant.";
                    return(RedirectToAction("WaitlistCreate"));
                }
                else
                {
                    if (RestaurantsManager.RestaurantActiveWaitlistByCustomer(viewWaitlist.RestaurantID, custId) == false)
                    {
                        var waitlist = new WaitlistEntry
                        {
                            EntryOrigin    = "app",
                            PartySize      = viewWaitlist.PartySizew,
                            CustomerId     = custId,
                            RestaurantId   = viewWaitlist.RestaurantID,
                            WaitlistStatus = "active",
                        };
                        try
                        {
                            RestaurantsManager.CreateWaitlist(waitlist);
                            TempData["Message"]      = "Your NEW Waitlist entry is Active!!!";
                            TempData["ErrorMessage"] = null;
                            return(RedirectToAction(nameof(WaitlistShow)));
                        }
                        catch
                        {
                            return(View());
                        }
                    }
                    else
                    {
                        TempData["Message"]      = null;
                        TempData["ErrorMessage"] = "Sorry!!! Each customer can have only one active Waitlist entry per Restaurant.";
                        ViewBag.Restaurants      = BasicGetRestaurants();
                        return(RedirectToAction("WaitlistCreate"));
                    }
                }
            }
        }
Exemple #23
0
        public IActionResult ReservationDeny(ResCustomerModelView viewreservation)
        {
            LogRestaurant();
            var reservation = RestaurantsManager.GetReservationById(viewreservation.ReservationEntryId);

            reservation.CustomerMessage   = viewreservation.Message;
            reservation.ReservationStatus = "denied";
            RestaurantsManager.UpdateReservation(reservation);
            return(RedirectToAction("ReservationManage"));
        }
Exemple #24
0
        public IActionResult OwnerEdit(OwnerModelView viewOwner)
        {
            LogRestaurant();
            var userId          = OwnersManager.GetUserIdByOwnerId(viewOwner.OwnerId);
            var authId          = UsersManager.GetAuthIdByUserId(userId);
            var restaurantOwner = RestaurantsManager.RestaurantByOwnerId(viewOwner.RestaurantId, viewOwner.OwnerId);
            var authMatrix      = UsersManager.GetAuthenticationMatrixByIDs(viewOwner.RestaurantId, authId);

            viewOwner.Status = GetOwnerStatusValue(viewOwner.Status);
            if (restaurantOwner.Active == false && viewOwner.Active == true)
            {
                if (viewOwner.Status == "Owner" || viewOwner.Status == "Primary Owner")
                {
                    restaurantOwner.RequestStatus = "Approved";
                    if (authMatrix != null)
                    {
                        authMatrix.Role = "Owner";
                        UsersManager.UpdateAuthenticationMatrixByIDs(authMatrix);
                    }
                    else
                    {
                        var newAuthMatrix = new AuthenticationMatrix
                        {
                            AuthenticationId = authId,
                            RestaurantId     = viewOwner.RestaurantId,
                            Role             = "Owner"
                        };
                        UsersManager.AddOwnerToAuthetication(newAuthMatrix);
                    }
                }
            }
            else
            {
                if (restaurantOwner.Active == true && viewOwner.Active == false)
                {
                    if (viewOwner.Status == "Owner" || viewOwner.Status == "Primary Owner")
                    {
                        authMatrix.Role = "OwnerLeave";
                        UsersManager.UpdateAuthenticationMatrixByIDs(authMatrix);
                    }
                    else
                    {
                        UsersManager.DeleteAuthMatrixByIds(viewOwner.RestaurantId, authId);
                    }
                }
            }
            restaurantOwner.Status  = viewOwner.Status;
            restaurantOwner.EndDate = viewOwner.EndDate;
            restaurantOwner.Active  = viewOwner.Active;
            RestaurantsManager.UpdateRestaurantOwner(restaurantOwner);
            return(RedirectToAction("RestaurantOwnersShow"));
        }
        //Get a list of restaurants and inject it in the view Restaurants situated in the Restaurant folder
        public ActionResult Restaurants()
        {
            var            restaurantlist = RestaurantsManager.GetRestaurants();
            IList <string> cityaddress    = new List <string>();

            foreach (var citycode in restaurantlist)
            {
                var city = RestaurantsManager.getRestaurantCity(citycode.Country_code);
                cityaddress.Add(city.Code + " " + city.Name);
            }
            ViewData["Address"] = cityaddress;

            return(View(restaurantlist));
        }
Exemple #26
0
        //Edit Employee's Edit
        public IActionResult EmployeeEdit(int id)
        {
            LogRestaurant();
            string          role;
            ClaimsPrincipal cp                 = this.User;
            var             claims             = cp.Claims.ToList();
            var             restId             = Convert.ToInt32(claims.SingleOrDefault(p => p.Type == "RestaurantID").Value);
            var             restaurantEmployee = RestaurantsManager.RestaurantByEmployeeId(restId, id);
            var             userId             = EmployeesManager.GetUserIdByEmployeeId(restaurantEmployee.EmployeeId);
            var             authId             = UsersManager.GetAuthIdByUserId(userId);
            var             authMatrix         = UsersManager.GetAuthenticationMatrixByIDs(restId, authId);

            if (authMatrix != null)
            {
                role = authMatrix.Role;
            }
            else
            {
                role = "";
            }
            var    employeeUser = UsersManager.GetUserByUserId(userId);
            string fullName     = $"{employeeUser.FirstName} {employeeUser.LastName}";
            var    viewEmployee = new EmployeeModelView
            {
                RestaurantId     = restaurantEmployee.RestaurantId,
                EmployeeId       = restaurantEmployee.EmployeeId,
                UserId           = employeeUser.UserId,
                EmployeeFullName = fullName,
                Active           = restaurantEmployee.Active,
                Status           = restaurantEmployee.Status,
                StartDate        = (DateTime)restaurantEmployee.StartDate,
                EndDate          = restaurantEmployee.EndDate,
                RequestFlag      = restaurantEmployee.NewRequestFlag,
                RequestStatus    = restaurantEmployee.RequestStatus,
                Role             = role
            };

            ViewBag.EmployeeStatus  = GetEmployeeStatus();
            ViewBag.EmployeeRole    = GetRestaurantRoles();
            ViewBag.EmployeeStatusV = GetEmployeeStatusText(restaurantEmployee.Status);
            if (GetRestaurantRolesValue(role) == "")
            {
                ViewBag.EmplyeeRoleV = "0";
            }
            else
            {
                ViewBag.EmplyeeRoleV = GetRestaurantRolesText(role);
            }
            return(View(viewEmployee));
        }
Exemple #27
0
        //Restaurant Profile
        public IActionResult RestaurantShow()
        {
            LogRestaurant();
            ClaimsPrincipal cp             = this.User;
            var             claims         = cp.Claims.ToList();
            var             restId         = Convert.ToInt32(claims.SingleOrDefault(p => p.Type == "RestaurantID").Value);
            var             restaurant     = RestaurantsManager.GetRestauranByID(restId);
            var             viewRestaurant = new RestaurantCreateModelView
            {
                RestaurantId   = restaurant.RestaurantId,
                RestaurantName = restaurant.RestaurantName,
            };

            return(View(viewRestaurant));
        }
Exemple #28
0
        //Deny Employee's Application
        public IActionResult EmployeeDeny(int id)
        {
            LogRestaurant();
            ClaimsPrincipal cp                 = this.User;
            var             claims             = cp.Claims.ToList();
            var             restId             = Convert.ToInt32(claims.SingleOrDefault(p => p.Type == "RestaurantID").Value);
            var             restaurantEmployee = RestaurantsManager.RestaurantByEmployeeId(restId, id);

            restaurantEmployee.NewRequestFlag = false;
            restaurantEmployee.Status         = "Not Accepted";
            restaurantEmployee.RequestStatus  = "Denied";
            restaurantEmployee.Active         = false;
            RestaurantsManager.UpdateRestaurantEmployee(restaurantEmployee);
            return(RedirectToAction("RestaurantEmployeesShow"));
        }
Exemple #29
0
 public ActionResult WaitlistEditParty(WaitCustomerModelView viewWaitlist)
 {
     LogRestaurant();
     if (viewWaitlist.PartySizew <= 0)
     {
         TempData["Message"]      = null;
         TempData["ErrorMessage"] = "Sorry!!! Your Waitlist entry couldn't be updated. PartySize must be a non-zero positive integer";
         var waitlist = RestaurantsManager.GetWaitlistById(viewWaitlist.WaitlistEntryId);
         viewWaitlist.PartySizew = waitlist.PartySize;
         return(RedirectToAction("WaitlistEditParty", waitlist.WaitlistEntryTable));
     }
     else
     {
         if (viewWaitlist.PartySizew >= 100)
         {
             TempData["Message"]      = null;
             TempData["ErrorMessage"] = "Sorry!!! Your Waitlist entry couldn't be updated. Party size not supported by the Restaurant.";
             var waitlist = RestaurantsManager.GetWaitlistById(viewWaitlist.WaitlistEntryId);
             viewWaitlist.PartySizew = waitlist.PartySize;
             return(RedirectToAction("WaitlistEditParty", waitlist.WaitlistEntryTable));
         }
         else
         {
             var waitlist = new WaitlistEntry
             {
                 WaitlistEntryId = viewWaitlist.WaitlistEntryId,
                 PartySize       = viewWaitlist.PartySizew
             };
             try
             {
                 RestaurantsManager.UpdatePartySizeWaitlist(waitlist);
                 TempData["Message"]      = "Your Waitlist entry was updated.";
                 TempData["ErrorMessage"] = null;
                 return(RedirectToAction(nameof(WaitlistShow)));
             }
             catch
             {
                 TempData["Message"]      = null;
                 TempData["ErrorMessage"] = "Sorry!! It was not possible to Update your party size. Try again later!!!";
                 waitlist = RestaurantsManager.GetWaitlistById(viewWaitlist.WaitlistEntryId);
                 viewWaitlist.PartySizew = waitlist.PartySize;
                 return(RedirectToAction("WaitlistEditParty", waitlist.WaitlistEntryTable));
             }
         }
     }
 }
Exemple #30
0
        public IActionResult ReservationEdit(ResCustomerModelView viewReservation)
        {
            LogRestaurant();
            var      reservation = RestaurantsManager.GetReservationById(viewReservation.ReservationEntryId);
            DateTime eDatetime   = Convert.ToDateTime("1/1/0001 12:00:00 AM");

            if (viewReservation.ReservationDate == eDatetime)
            {
                viewReservation.ReservationDate = reservation.ReservationDateTime;
            }
            if (viewReservation.ReservationDate.Date < DateTime.Today.Date && viewReservation.ReservationStatus == "confirmed")
            {
                TempData["Message"]      = null;
                TempData["ErrorMessage"] = "Sorry!!! Your Reservation couldn't be updated. Reservations are only for future dates.";
                return(RedirectToAction("ReservationEdit", viewReservation.ReservationEntryId));
            }
            else
            {
                if (viewReservation.PartySize <= 0)
                {
                    TempData["Message"]      = null;
                    TempData["ErrorMessage"] = "Sorry!!! Your Reservation couldn't be Updated. PartySize must be a non-zero positive number";
                    return(RedirectToAction("ReservationEdit", viewReservation.ReservationEntryId));
                }
                else
                {
                    if (viewReservation.PartySize >= 100)
                    {
                        TempData["Message"]      = null;
                        TempData["ErrorMessage"] = "Sorry!!! Your Reservation couldn't be Updated. PartySize not supported by the Restaurant.";
                        return(RedirectToAction("ReservationEdit", viewReservation.ReservationEntryId));
                    }
                    else
                    {
                        reservation.ReservationStatus   = GetReservationStatusValue(viewReservation.ReservationStatus);
                        reservation.ReservationDateTime = viewReservation.ReservationDate;
                        reservation.PartySize           = viewReservation.PartySize;
                        reservation.EntryOrigin         = viewReservation.EntryOrigin;
                        RestaurantsManager.UpdateReservation(reservation);
                        TempData["Message"]      = null;
                        TempData["ErrorMessage"] = null;
                        return(RedirectToAction("ReservationManage"));
                    }
                }
            }
        }