Ejemplo n.º 1
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));
        }
Ejemplo n.º 2
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));
        }
        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));
        }
Ejemplo n.º 4
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"));
        }
        public IActionResult OwnerDetails(int id)
        {
            LogRestaurant();
            int             restId              = id;
            ClaimsPrincipal cp                  = this.User;
            var             claims              = cp.Claims.ToList();
            var             ownId               = Convert.ToInt32(claims.SingleOrDefault(p => p.Type == "OwnerID").Value);
            var             ownerRestaurant     = RestaurantsManager.RestaurantByOwnerId(restId, ownId);
            var             viewOwnerRestaurant = new OwnerModelView
            {
                Restaurant    = ownerRestaurant.Restaurant.RestaurantName,
                RestaurantId  = ownerRestaurant.RestaurantId,
                OwnerId       = ownerRestaurant.OwnerId,
                Status        = ownerRestaurant.Status,
                StartDate     = (DateTime)ownerRestaurant.StartDate,
                EndDate       = ownerRestaurant.EndDate,
                Active        = ownerRestaurant.Active,
                RequestFlag   = ownerRestaurant.Request,
                RequestStatus = ownerRestaurant.RequestStatus
            };

            return(View(viewOwnerRestaurant));
        }
        public IActionResult OwnerApply(OwnerModelView viewOwner)
        {
            LogRestaurant();
            bool            newOwner = false;
            ClaimsPrincipal cp       = this.User;
            var             claims   = cp.Claims.ToList();
            var             userId   = Convert.ToInt32(claims.SingleOrDefault(p => p.Type == "UserID").Value);
            var             ownId    = Convert.ToInt32(claims.SingleOrDefault(p => p.Type == "OwnerID").Value);

            if (ownId == 0)
            {
                var owner = new Owners {
                    UserId = userId
                };
                OwnersManager.CreateOwner(owner);
                ownId    = OwnersManager.GetOwnerIdByUserId(userId);
                newOwner = true;
            }
            var    restaurants   = RestaurantsManager.RestaurantsByOwnerId(ownId);
            bool   newRestaurant = true;
            bool   requestFlag   = true;
            string status;
            string request;

            foreach (RestaurantOwners rest in restaurants)
            {
                if (viewOwner.RestaurantId == rest.RestaurantId)
                {
                    newRestaurant = false;
                    status        = rest.Status;
                    request       = rest.RequestStatus;
                    requestFlag   = (bool)rest.Request;
                }
            }
            if (newRestaurant)
            {
                var restaurantOwner = new RestaurantOwners
                {
                    OwnerId       = ownId,
                    RestaurantId  = viewOwner.RestaurantId,
                    RequestStatus = "on Hold",
                    Request       = true,
                    Status        = "Applicant",
                    Active        = false,
                };
                RestaurantsManager.AddOwnerToRestaurant(restaurantOwner);
                if (newOwner)
                {
                    TempData["Message"]      = "You successfully applied for an Onwership. You need to Login again to upgrade your new credential!!";
                    TempData["ErrorMessage"] = null;
                    return(RedirectToAction("Logout", "Account"));
                }
                else
                {
                    TempData["Message"]      = "You successfully applied for an Onwership!!";
                    TempData["ErrorMessage"] = null;
                    return(RedirectToAction("Profile", "Account"));
                }
            }
            else
            {
                TempData["Message"]      = null;
                TempData["ErrorMessage"] = "Sorry!! Your already applied to the Restaurant's ownership or you are one of the  Restaurant's owners.";
                return(RedirectToAction("Profile", "Account"));
            }
        }