Beispiel #1
0
        public ActionResult Create(string message)
        {
            RoleView             roleView = new RoleView();
            UserAccessRepository rep      = new UserAccessRepository();


            roleView.AvailableFunctions = new List <CheckBoxListInfo>();
            roleView.Roles = rep.GetAllRoles();

            // Get the list of roles in the system
            List <AvailableFunction> allFunctions = rep.GetAllAvailableFunctions();

            if (allFunctions.Count > 0) //It is possible that database might not have any available functions initially
            {
                for (int i = 0; i < allFunctions.Count(); i++)
                {
                    roleView.AvailableFunctions.Add(new CheckBoxListInfo(allFunctions.ElementAt(i).ID.ToString(), allFunctions.ElementAt(i).FunctionName, false));
                }
            }

            if (message != null)
            {
                ViewData["Message"] = message;
            }

            return(View("Create", roleView));
        }
Beispiel #2
0
        public ActionResult Delete(string id)
        {
            UserAccessRepository rep = new UserAccessRepository();
            Guid ID = Guid.Parse(id);

            try
            {
                if (rep.NumberOfUsersInRole(ID) == 0)
                {
                    if (rep.DeleteRole(ID))
                    {
                        ViewData["Message"] = "Role deleted successfully!";
                    }
                    else
                    {
                        ViewData["Message"] = "There was an error deleting role. Please contact your administrator.";
                    }
                }
                else
                {
                    ViewData["Message"] = "Role couldn't be deleted because there are users under this role.";
                }
            }
            catch
            {
                return(View());
            }

            return(View());
        }
Beispiel #3
0
        public ActionResult Edit(string id)
        {
            UserAccessRepository rep         = new UserAccessRepository();
            UserAccountView      userAccView = new UserAccountView();

            userAccView.UserAccount = rep.GetUserAccount(id);

            List <Role> roles = rep.GetAllRoles();

            userAccView.Roles = new List <SelectListItem>();

            foreach (Role role in roles)
            {
                userAccView.Roles.Add(new SelectListItem {
                    Text = role.RoleName, Value = role.ID.ToString()
                });
            }


            if (userAccView.UserAccount != null)
            {
                View("Edit", userAccView);
            }
            else
            {
                ViewData["Message"] = "User could not be found!";
            }

            return(View("Edit", userAccView));
        }
Beispiel #4
0
        public ActionResult ManageTeams(string message)
        {
            CoachAccessRepository coachRep             = new CoachAccessRepository();
            UserAccessRepository  userRep              = new UserAccessRepository();
            CoachManageTeamsView  CoachManageTeamsView = new CoachManageTeamsView();
            string currentUserName = System.Web.HttpContext.Current.User.Identity.Name;

            Guid personID = userRep.GetPersonID(currentUserName);

            CoachManageTeamsView.UnassignedPlayers = coachRep.GetUnassignedPlayers(personID);
            List <Team> teams = coachRep.GetTeams(personID);

            CoachManageTeamsView.CurrentTeams = new List <SelectListItem>();

            foreach (Team team in teams)
            {
                CoachManageTeamsView.CurrentTeams.Add(new SelectListItem {
                    Text = team.Category + " - " + team.Name, Value = team.Id.ToString()
                });
            }

            if (message != null)
            {
                ViewData["Message"] = message;
            }


            return(View(CoachManageTeamsView));
        }
Beispiel #5
0
        public ActionResult AssignPlayerBackToRegistrar(Guid id) //id = PlayerID
        {
            UserAccessRepository rep = new UserAccessRepository();
            Person player            = rep.GetPerson(id);

            return(View(player));
        }
Beispiel #6
0
        public ActionResult UnassignTeam(string id) //id = PlayerID
        {
            UserAccessRepository rep = new UserAccessRepository();
            Person player            = null;

            try
            {
                player = rep.GetPerson(Guid.Parse(id));
                CoachAccessRepository coachRep = new CoachAccessRepository();

                if (coachRep.UnassignTeamPlayer(Guid.Parse(id)))
                {
                    ViewData["Message"] = "Player was unassigned from team successfully.";
                }
                else
                {
                    ViewData["Message"] = "There was an error processing your request. Please contact your administrator.";
                }
            }
            catch
            {
                ViewData["Message"] = "There was an error processing your request. Please contact your administrator.";
            }

            player = null;
            return(View(player));
        }
Beispiel #7
0
        public ActionResult AssignPlayerBackToRegistrar(string id) //id = PlayerID
        {
            UserAccessRepository rep = new UserAccessRepository();
            Person player            = null;

            try
            {
                player = rep.GetPerson(Guid.Parse(id));

                CoachAccessRepository coachRep = new CoachAccessRepository();

                if (coachRep.AssignPlayerBackToRegistrar(Guid.Parse(id)))
                {
                    ViewData["Message"] = player.FirstName + ", " + player.LastName + " has been assigned back to registrar.";
                }
                else
                {
                    ViewData["Message"] = "There was an error processing your request. Please contact your administrator";
                }
            }
            catch (Exception e)
            {
                ViewData["Message"] = "There was an error processing your request. Please contact your administrator";
            }
            player = null;
            return(View(player));
        }
Beispiel #8
0
        public ActionResult ManageTeamEvents(string message)
        {
            CoachAccessRepository coachRep = new CoachAccessRepository();
            UserAccessRepository  userRep  = new UserAccessRepository();

            CoachManageTeamEventsView CoachTeamEventsView = new CoachManageTeamEventsView();

            Guid CoachID = userRep.GetPersonID(System.Web.HttpContext.Current.User.Identity.Name);

            CoachTeamEventsView.ExistingEvents = coachRep.GetEvents(CoachID);

            List <Team> teams = coachRep.GetTeams(CoachID);


            if (teams.Count != 0)
            {
                CoachTeamEventsView.TeamsToNotify = new List <Views.Shared.CheckBoxListInfo>();
                for (int i = 0; i < teams.Count; i++)
                {
                    CoachTeamEventsView.TeamsToNotify.Add(new CheckBoxListInfo(teams.ElementAt(i).Id.ToString(), teams.ElementAt(i).Name, false));
                }
            }

            if (message != null)
            {
                ViewData["Message"] = message;
            }


            return(View(CoachTeamEventsView));
        }
Beispiel #9
0
        public ActionResult DeleteEvent(string id) //id = EventID
        {
            CoachAccessRepository coachRep = new CoachAccessRepository();
            UserAccessRepository  userRep  = new UserAccessRepository();

            Event anEvent = null;

            Guid CoachID = userRep.GetPersonID(System.Web.HttpContext.Current.User.Identity.Name);

            try
            {
                if (coachRep.DeleteCoachEvent(Guid.Parse(id), CoachID))
                {
                    ViewData["Message"] = "Event deleted succesfully!";
                }
                else
                {
                    ViewData["Message"] = "Couldn't delete this event. Please contact your administrator.";
                }
            }
            catch (Exception e)
            {
                ViewData["Message"] = "Couldn't delete this event. Please contact your administrator.";
            }



            return(View(anEvent));
        }
Beispiel #10
0
        public ActionResult UnassignTeam(Guid id) //id = PlayerID
        {
            UserAccessRepository rep = new UserAccessRepository();
            Person player            = rep.GetPerson(id);

            return(View(player));
        }
Beispiel #11
0
        public ActionResult AssignTeam(Guid id) //PlayerID
        {
            CoachAssignTeamView   CoachAssignTeamView = new Models.ViewModels.CoachAssignTeamView();
            CoachAccessRepository coachRep            = new CoachAccessRepository();
            UserAccessRepository  userRep             = new UserAccessRepository();
            string currentUserName = System.Web.HttpContext.Current.User.Identity.Name;

            Guid coachID = userRep.GetPersonID(currentUserName);

            Person player = userRep.GetPerson(id);

            CoachAssignTeamView.PlayerName = player.FirstName + ", " + player.LastName;
            CoachAssignTeamView.PlayerID   = id;

            List <Team> teams = coachRep.GetTeams(coachID);

            CoachAssignTeamView.Teams = new List <SelectListItem>();
            foreach (Team team in teams)
            {
                CoachAssignTeamView.Teams.Add(new SelectListItem {
                    Text = team.Category + " - " + team.Name, Value = team.Id.ToString()
                });
            }

            return(View(CoachAssignTeamView));
        }
Beispiel #12
0
        public ActionResult Edit(UserAccountView UserAccountView, Guid Roles)
        {
            UserAccessRepository rep = new UserAccessRepository();

            List <Role> roles = rep.GetAllRoles();

            UserAccountView.Roles            = new List <SelectListItem>();
            UserAccountView.UserAccount.Role = rep.GetRole(Roles);

            ModelState.Remove("Roles"); //We remove any model state error on Roles because we manually load it from the database as drop-down list only returns the selected role

            foreach (Role role in roles)
            {
                UserAccountView.Roles.Add(new SelectListItem {
                    Text = role.RoleName, Value = role.ID.ToString()
                });
            }

            if (ModelState.IsValid)
            {
                if (UserAccountView.UserAccount != null)
                {
                    ////////////////////
                    MembershipUser user = Membership.GetUser(UserAccountView.UserAccount.Username);

                    UserAccount existingAccount = rep.GetUserAccount(UserAccountView.UserAccount.Username);

                    foreach (AvailableFunction func in existingAccount.Role.AvailableFunctions)
                    {
                        System.Web.Security.Roles.RemoveUserFromRole(existingAccount.Username, func.FunctionName);
                    }

                    foreach (var func in UserAccountView.UserAccount.Role.AvailableFunctions)
                    {
                        System.Web.Security.Roles.AddUserToRole(UserAccountView.UserAccount.Username, func.FunctionName);
                    }


                    ////////////////////
                    bool status = rep.UpdateUserAccount(UserAccountView.UserAccount);

                    if (status)
                    {
                        ViewData["Message"] = "User updated successfully!";
                    }
                    else
                    {
                        ViewData["Message"] = "There was an error updating this user. Please contact your administrator!";
                    }

                    return(View("Edit", null));
                }
                else
                {
                    ViewData["Message"] = "User could not be found!";
                }
            }

            return(View(UserAccountView));
        }
Beispiel #13
0
        public ActionResult Create(UserAccessViewModel objEntity)
        {
            UserAccessRepository objUserAccessRepository = new UserAccessRepository();

            if (ModelState.IsValid)
            {
                objEntity.UserAccessTitle = objEntity.UserAccessTitle.Trim();
                objEntity.Url             = objEntity.Url.Trim();
                objEntity.CssClass        = objEntity.CssClass.Trim();

                objEntity.CreatedBy = 1;//admin

                objEntity = objUserAccessRepository.Insert(objEntity);


                if (objEntity.Result == ResultFlags.Success.GetHashCode())
                {
                    //   Install-Package MvcFlashMessages
                    this.Flash("Success", "User Access Insert successfully");

                    return(RedirectToAction("Index"));
                }
                else if (objEntity.Result == ResultFlags.Failure.GetHashCode())
                {
                    this.Flash("Error", "Failed to Insert UserAccess");
                    return(RedirectToAction("Index"));
                }
                else if (objEntity.Result == ResultFlags.Duplicate.GetHashCode())
                {
                    this.Flash("Warning", "UserAccess Name is Already Exist");
                    return(RedirectToAction("Index"));
                }
            }
            return(View(objEntity));
        }
Beispiel #14
0
        public ActionResult Edit(int id, UserAccessViewModel objEntity)
        {
            var objUserAccessRepository = new UserAccessRepository();

            if (ModelState.IsValid)
            {
                // objEntity.Name = objEntity.Name.Trim();

                objEntity.UserAccessId = (Int16)id;


                objEntity = objUserAccessRepository.Update(RoleFlags.UpdateByID.GetHashCode(), objEntity);
                if (objEntity.Result == ResultFlags.Success.GetHashCode())
                {
                    this.Flash("success", "UserAccess Details updated successfully");
                    //reload all new setting
                    MenuHelpers.SetMenuByRoleMaster();
                    MenuHelpers.SetMenuByRoleMain();
                    return(RedirectToAction("Index"));
                }
                else if (objEntity.Result == ResultFlags.Failure.GetHashCode())
                {
                    this.Flash("error", "UserAccess Details failed to Update");
                }
            }


            return(View(objEntity));
        }
Beispiel #15
0
        public ActionResult Delete(object id)
        {
            UserAccessRepository rep = new UserAccessRepository();

            UserAccount userAcc = rep.GetUserAccount((string)id);

            if (userAcc != null)
            {
                if (rep.DeleteUser(userAcc.Username))
                {
                    if (Membership.DeleteUser(userAcc.Username))
                    {
                        ViewData["Message"] = "User account deleted successfully!";
                        userAcc             = null;
                    }

                    else
                    {
                        ViewData["Message"] = "There was an error deleting user account. Please contact your administrator";
                        userAcc             = null;
                    }
                }

                return(View(userAcc));
            }
            else
            {
                ViewData["Message"] = "User could not be found!";
            }


            return(View(userAcc));
        }
Beispiel #16
0
        public ActionResult Delete(Guid id)
        {
            UserAccessRepository rep = new UserAccessRepository();

            Role role = rep.GetRole(id);

            return(View(role));
        }
Beispiel #17
0
        public ActionResult Create([ModelBinder(typeof(RoleViewModelBinder))] RoleView RoleView)//[ModelBinder(typeof(RoleViewModelBinder))],string[] selectedAvailableFunctions
        {
            UserAccessRepository rep = new UserAccessRepository();

            // Get the list of roles in the system
            List <AvailableFunction> allFunctions = rep.GetAllAvailableFunctions();

            RoleView.Roles = rep.GetAllRoles();



            if (ModelState.IsValid)
            {
                Role newRole = new Role(Guid.NewGuid(), RoleView.Name, RoleView.Description);
                newRole.AvailableFunctions = new List <AvailableFunction>();

                for (int i = 0; i < allFunctions.Count(); i++)
                {
                    foreach (var item in RoleView.AvailableFunctions)
                    {
                        if (Guid.Parse(item.Value).Equals(allFunctions[i].ID))
                        {
                            newRole.AvailableFunctions.Add(new AvailableFunction(Guid.Parse(allFunctions[i].ID.ToString()), allFunctions[i].FunctionName));
                        }
                    }
                }

                if (rep.CreateRole(newRole) == true)
                {
                    return(RedirectToAction("Create", "Roles", new { message = "Your role '" + RoleView.Name + "' was created successfully!" }));
                }
                else
                {
                    return(RedirectToAction("Create", "Roles", new { message = "There was an error creating your role. Please contact your administrator." }));
                }
            }

            RoleView.Roles = rep.GetAllRoles();

            if (RoleView.AvailableFunctions == null)
            {
                RoleView.AvailableFunctions = new List <CheckBoxListInfo>();
            }

            RoleView.AvailableFunctions.Clear();

            foreach (var item in allFunctions)
            {
                RoleView.AvailableFunctions.Add(new CheckBoxListInfo(item.ID.ToString(), item.FunctionName, false));
            }

            return(View("Create", RoleView));
        }
Beispiel #18
0
        // GET: UserAccess
        public ActionResult Index()
        {
            //
            UserAccessRepository       objUserAccessRepository = new UserAccessRepository();
            List <UserAccessViewModel> objEntityList           = objUserAccessRepository.Select(UserAccessFlags.SelectAll.GetHashCode(), new UserAccessViewModel()
            {
            });

            if (objEntityList.Count == 0)
            {
                this.Flash("info", "No User Accesss");
            }

            return(View(objEntityList));
        }
 private UnitOfWork()
 {
     this._context    = new CapInnovativeIdiaDbContext();
     Idia             = new IdiaRepository(_context);
     User             = new UserRepository(_context);
     Role             = new RoleRepository(_context);
     Account          = new AccountRepository(_context);
     Controller       = new ControllerRepository(_context);
     ControllerAction = new ControllerActionRepository(_context);
     UserAccess       = new UserAccessRepository(_context);
     Team             = new TeamRepository(_context);
     IdiaCategory     = new IdiaCategoryRepository(_context);
     IdiaProposal     = new IdiaProposalRepository(_context);
     IdiaStatus       = new IdiaStatusRepository(_context);
 }
Beispiel #20
0
        public ActionResult Delete(string id)
        {
            UserAccessRepository rep = new UserAccessRepository();

            UserAccount userAcc = rep.GetUserAccount(id);

            if (userAcc != null)
            {
                return(View(userAcc));
            }
            else
            {
                ViewData["Message"] = "User could not be found!";
            }


            return(View(userAcc));
        }
Beispiel #21
0
        public ActionResult ManageTeams(Team NewTeam)
        {
            CoachAccessRepository coachRep = new CoachAccessRepository();
            UserAccessRepository  userRep  = new UserAccessRepository();

            string currentUserName = System.Web.HttpContext.Current.User.Identity.Name;

            NewTeam.CoachID = userRep.GetPersonID(currentUserName);

            if (coachRep.CreateTeam(NewTeam))
            {
                return(RedirectToAction("ManageTeams", "Coach", new { message = "Team created successfully!" }));
            }
            else
            {
                return(RedirectToAction("ManageTeams", "Coach", new { message = "There was an error creating team. Please contact your administrator." }));
            }
        }
Beispiel #22
0
        public ActionResult Edit(int id)
        {
            UserAccessRepository objUserAccessRepository = new UserAccessRepository();

            var objEntity = new UserAccessViewModel();

            objEntity = objUserAccessRepository.Select(RoleFlags.SelectByID.GetHashCode(), new UserAccessViewModel()
            {
                UserAccessId = (Int16)id
            }).FirstOrDefault();
            if (objEntity == null)
            {
                this.Flash("Error", "Failed to edit Role details");

                return(RedirectToAction("Index"));
            }



            return(View(objEntity));
        }
Beispiel #23
0
        public ActionResult AssignTeam(Guid PlayerID, Guid Teams)
        {
            CoachAssignTeamView   CoachAssignTeamView = null;
            UserAccessRepository  userRep             = new UserAccessRepository();
            CoachAccessRepository coachRep            = new CoachAccessRepository();
            string currentUserName = System.Web.HttpContext.Current.User.Identity.Name;

            Guid coachID = userRep.GetPersonID(currentUserName);

            if (coachRep.AssignPlayerToTeam(PlayerID, Teams, coachID))
            {
                ViewData["Message"] = "Player has been assigned to a team!";
            }
            else
            {
                ViewData["Message"] = "There was an error assigning player to a team. Please contact your administrator.";
            }


            return(View(CoachAssignTeamView));
        }
Beispiel #24
0
        public ActionResult ChangeTeam(Guid Teams, Guid PlayerID)
        {
            CoachAccessRepository coachRep = new CoachAccessRepository();
            UserAccessRepository  userRep  = new UserAccessRepository();
            string currentUserName         = System.Web.HttpContext.Current.User.Identity.Name;

            Guid coachID = userRep.GetPersonID(currentUserName);

            Guid ExistingTeamID = coachRep.GetTeamID(PlayerID);

            if (coachRep.ChangeTeam(PlayerID, Teams))
            {
                ViewData["Message"] = "Player's team updated succesfully!";
            }
            else
            {
                ViewData["Message"] = "There was an error updating player's team. Please contact your administrator.";
            }


            return(View("ChangeTeam", null));
        }
Beispiel #25
0
        public ActionResult Create(string message)
        {
            UserAccessRepository rep         = new UserAccessRepository();
            UserAccountView      userAccView = new UserAccountView();

            List <Role> roles = rep.GetAllRoles();

            userAccView.Roles = new List <SelectListItem>();
            userAccView.ExistingUserAccounts = rep.GetUserAccounts();

            foreach (Role role in roles)
            {
                userAccView.Roles.Add(new SelectListItem {
                    Text = role.RoleName, Value = role.ID.ToString()
                });
            }

            if (message != null)
            {
                ViewData["Message"] = message;
            }

            return(View(userAccView));
        }
Beispiel #26
0
        private void CheckRoleUserAccess(ActionExecutingContext filterContext, UserAccessViewModel objUserAccessViewModel, Int16 RoleId)
        {
            var objUserAccessRepository = new UserAccessRepository();

            objUserAccessViewModel = objUserAccessRepository.Select(UserAccessFlags.SelectPermissionByUrlRoleId.GetHashCode(), RoleId,
                                                                    objUserAccessViewModel).FirstOrDefault();

            if (objUserAccessViewModel != null)
            {
                switch (ActionAccess)
                {
                case ActionUserAccessEnum.Default:
                    break;

                case ActionUserAccessEnum.Index:
                {
                    if (objUserAccessViewModel.ViewPermission != true && RoleId != RoleUserDefinedEnum.Admin.GetHashCode())
                    {
                        RedirectUnAuthorizedUserLogin(filterContext);
                    }


                    break;
                }

                case ActionUserAccessEnum.Details:
                {
                    if (objUserAccessViewModel.ViewPermission != true && RoleId != RoleUserDefinedEnum.Admin.GetHashCode())
                    {
                        RedirectUnAuthorizedUserLogin(filterContext);
                    }
                    break;
                }

                case ActionUserAccessEnum.Create:
                {
                    if (objUserAccessViewModel.AddPermission != true && RoleId != RoleUserDefinedEnum.Admin.GetHashCode())
                    {
                        RedirectUnAuthorizedUserLogin(filterContext);
                    }
                    break;
                }

                case ActionUserAccessEnum.Edit:
                {
                    if (objUserAccessViewModel.EditPermission != true && RoleId != RoleUserDefinedEnum.Admin.GetHashCode())
                    {
                        RedirectUnAuthorizedUserLogin(filterContext);
                    }
                    break;
                }

                case ActionUserAccessEnum.Delete:
                {
                    if (objUserAccessViewModel.DeletePermission != true && RoleId != RoleUserDefinedEnum.Admin.GetHashCode())
                    {
                        RedirectUnAuthorizedUserLogin(filterContext);
                    }
                    break;
                }

                default:
                    break;
                }
            }
            else
            {
                RedirectUnAuthorizedUserLogin(filterContext);
            }
        }
Beispiel #27
0
        public ActionResult NewOrganization(RegisterNewOrganizationView RegisterNewOrganizationView)
        {
            RegisterAccessRepository repp = new RegisterAccessRepository();
            bool status = repp.IsValidAuthorizationCode(RegisterNewOrganizationView.AuthorizationCode);

            if (status == true)
            {
                UserAccessRepository rep = new UserAccessRepository();

                RegisterNewOrganizationView.UserAccount.Role = rep.GetRole(Guid.Parse("794C2858-17DB-462C-AB13-065B8F6719BF"));
                //RegisterNewOrganizationView.UserAccount.Person.Organization.Id = Guid.NewGuid();
                RegisterNewOrganizationView.UserAccount.Person.Organization.Address.Country = "Canada";
                RegisterNewOrganizationView.UserAccount.Person.Address = RegisterNewOrganizationView.UserAccount.Person.Organization.Address;
                // RegisterNewOrganizationView.UserAccount.Person.Organization.Url = "";

                if (repp.CreateOrganizationAccount(RegisterNewOrganizationView.UserAccount))
                {
                    MembershipCreateStatus createStatus;
                    MembershipUser         newUser = Membership.CreateUser(RegisterNewOrganizationView.UserAccount.Username, RegisterNewOrganizationView.UserAccount.Password, RegisterNewOrganizationView.UserAccount.Person.Email, "Q", "P", true, out createStatus);
                    RegisterNewOrganizationView.UserAccount.Person.Type = PersonType.ThirdParty;

                    switch (createStatus)
                    {
                    case MembershipCreateStatus.DuplicateUserName:
                        ViewData["Message"] = "Duplicate username! This username already exists in the system.";

                        break;

                    case MembershipCreateStatus.InvalidPassword:
                        ViewData["Message"] = "Invalid password! Minimum password length is six characters.";

                        break;

                    case MembershipCreateStatus.Success:
                        foreach (AvailableFunction func in RegisterNewOrganizationView.UserAccount.Role.AvailableFunctions)
                        {
                            System.Web.Security.Roles.AddUserToRole(RegisterNewOrganizationView.UserAccount.Username, func.FunctionName);
                        }

                        ViewData["Message"] = "Organization created succesfully!";
                        RegisterNewOrganizationView.UserAccount = null;
                        repp.DeleteAuthorizationCode(RegisterNewOrganizationView.AuthorizationCode);
                        ModelState.Clear();         //Will clear out the form
                        RegisterNewOrganizationView = null;
                        break;

                    default:
                        ViewData["Message"] = "There was an error creating this organization. Please contact the administrator.";
                        break;
                    }
                }
                else
                {
                    ViewData["Message"] = "There was an error creating this organization. Please contact the administrator.";
                }
            }


            else
            {
                ViewData["Message"] = "Authorization Code Is Invalid.Please try again or contact administrator.";
            }



            return(View("NewOrganization", RegisterNewOrganizationView));
        }
Beispiel #28
0
        public ActionResult Create(UserAccount UserAccount, Guid Roles)
        {
            UserAccessRepository rep = new UserAccessRepository();

            if (ModelState.IsValid)
            {
                UserAccount.Role = rep.GetRole(Roles);
                UserAccount.Person.Address.Country = "Canada";
                UserAccount.Person.Organization    = new Organization(Guid.Parse(ConfigurationManager.AppSettings["HostingOrganizationID"].ToString()));

                MembershipCreateStatus createStatus;
                MembershipUser         newUser = Membership.CreateUser(UserAccount.Username, UserAccount.Password, UserAccount.Person.Email, "Q", "P", true, out createStatus);
                UserAccount.Person.Type = PersonType.Employee;

                switch (createStatus)
                {
                case MembershipCreateStatus.DuplicateUserName:
                    ViewData["Message"] = "Duplicate username! This username already exists in the system.";

                    break;

                case MembershipCreateStatus.InvalidPassword:
                    ViewData["Message"] = "Invalid password! Minimum password length is six characters.";

                    break;

                case MembershipCreateStatus.Success:
                    foreach (AvailableFunction func in UserAccount.Role.AvailableFunctions)
                    {
                        System.Web.Security.Roles.AddUserToRole(UserAccount.Username, func.FunctionName);
                    }

                    if (rep.CreateUserAccount(UserAccount))
                    {
                        ViewData["Message"] = "User account created succesfully!";
                        UserAccount         = null;
                        ModelState.Clear();     //Will clear out the form

                        return(RedirectToAction("Create", "UserAccount", new { message = "User account created succesfully!" }));
                    }
                    else
                    {
                        ViewData["Message"] = "There was an error creating this user. Please contact your administrator.";
                    }

                    break;

                default:
                    ViewData["Message"] = "There was an error creating this user. Please contact your administrator.";
                    break;
                }
            }

            UserAccountView userAccView = new UserAccountView();

            List <Role> roles = rep.GetAllRoles();

            userAccView.Roles = new List <SelectListItem>();

            foreach (Role role in roles)
            {
                userAccView.Roles.Add(new SelectListItem {
                    Text = role.RoleName, Value = role.ID.ToString()
                });
            }

            userAccView.ExistingUserAccounts = rep.GetUserAccounts();
            userAccView.UserAccount          = UserAccount;

            return(View("Create", userAccView));
        }
Beispiel #29
0
        public static bool CheckRoleUserAccess(ActionUserAccessEnum objActionUserAccess)
        {
            bool   isVisible     = false;
            string objController = HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString();
            string objAction     = HttpContext.Current.Request.RequestContext.RouteData.Values["Action"].ToString();

            Int32 UserId = SessionWrapper.UserAccount.UserId;
            Int16 RoleId = SessionWrapper.UserAccount.RoleId;

            //Admin only case
            if (SessionWrapper.UserAccount.RoleId == RoleUserDefinedEnum.Admin.GetHashCode())
            {
                isVisible = true;
                return(isVisible);
            }
            var objUserAccessRepository = new UserAccessRepository();
            var objUserAccessViewModel  = objUserAccessRepository.Select(UserAccessFlags.SelectPermissionByUrlRoleId.GetHashCode(), RoleId,
                                                                         new UserAccessViewModel()
            {
                Url = objController
            }).FirstOrDefault();

            if (objUserAccessViewModel != null)
            {
                switch (objActionUserAccess)
                {
                case ActionUserAccessEnum.Default:
                    break;

                case ActionUserAccessEnum.Index:
                {
                    if (objUserAccessViewModel.ViewPermission == true)
                    {
                        isVisible = true;
                    }


                    break;
                }

                case ActionUserAccessEnum.Details:
                {
                    if (objUserAccessViewModel.ViewPermission == true)
                    {
                        isVisible = true;
                    }
                    break;
                }

                case ActionUserAccessEnum.Create:
                {
                    if (objUserAccessViewModel.AddPermission == true)
                    {
                        isVisible = true;
                    }
                    break;
                }

                case ActionUserAccessEnum.Edit:
                {
                    if (objUserAccessViewModel.EditPermission == true)
                    {
                        isVisible = true;
                    }
                    break;
                }

                case ActionUserAccessEnum.Delete:
                {
                    if (objUserAccessViewModel.DeletePermission == true)
                    {
                        isVisible = true;
                    }
                    break;
                }

                case ActionUserAccessEnum.AdminOnly:
                {
                    if (SessionWrapper.UserAccount.RoleId == RoleUserDefinedEnum.Admin.GetHashCode())
                    {
                        isVisible = true;
                    }
                    break;
                }

                default:
                    break;
                }
            }


            return(isVisible);
        }
Beispiel #30
0
        public ActionResult ManageTeamEvents([ModelBinder(typeof(CoachManageTeamEventsViewModelBinder))] CoachManageTeamEventsView CoachManageTeamEventsView)
        {
            CoachAccessRepository coachRep = new CoachAccessRepository();
            UserAccessRepository  userRep  = new UserAccessRepository();

            Guid CoachID = userRep.GetPersonID(System.Web.HttpContext.Current.User.Identity.Name);

            List <Team> teams = new List <Team>();

            for (int i = 0; i < CoachManageTeamEventsView.TeamsToNotify.Count; i++)
            {
                Team team = coachRep.GetTeam(Guid.Parse(CoachManageTeamEventsView.TeamsToNotify[i].Value));
                teams.Add(team);
            }

            if (ModelState.IsValid)
            {
                CoachManageTeamEventsView.Event.CreatedBy = CoachID;
                CoachManageTeamEventsView.Event.Teams     = teams;

                if (coachRep.CreateEvent(CoachManageTeamEventsView.Event))
                {
                    ViewData["Message"] = "Your event was created successfully.";

                    if (CoachManageTeamEventsView.SendEmailToPlayers)
                    {
                        List <Person> people = new List <Person>();

                        foreach (var team in CoachManageTeamEventsView.Event.Teams)
                        {
                            List <Person> players = coachRep.GetTeamPlayers(team.Id);
                            people.AddRange(players);
                        }


                        MailMessage message = new MailMessage();

                        //message.To.Add(new MailAddress(PlayerApplication.Player.Email));
                        message.Subject = "PhoenixFC - Event - " + CoachManageTeamEventsView.Event.Name;
                        message.Body    = "Dear Player: Your coach has scheduled an event. Please check your team web page for more information.";

                        SmtpClient client = new SmtpClient();



                        foreach (var person in people)
                        {
                            message.To.Add(new MailAddress(person.Email));
                        }


                        try
                        {
                            client.Send(message);
                            return(RedirectToAction("ManageTeamEvents", "Coach", new { message = "Your event was created successfully." }));
                        }
                        catch (Exception e)
                        {
                            if (e is System.Net.Mail.SmtpException)
                            {
                                return(RedirectToAction("ManageTeamEvents", "Coach", new { message = "Your event was created successfully. However, there was an error sending email to all players." }));
                            }
                        }
                    }


                    CoachManageTeamEventsView.Event = null;
                    CoachManageTeamEventsView.SendEmailToPlayers = false;
                    CoachManageTeamEventsView.ExistingEvents     = coachRep.GetEvents(CoachID);
                }
                else
                {
                    return(RedirectToAction("ManageTeamEvents", "Coach", new { message = "There was an error creating your event. Please contact your administrator." }));
                }
            }

            teams = coachRep.GetTeams(CoachID);
            if (teams.Count != 0)
            {
                CoachManageTeamEventsView.TeamsToNotify = new List <Views.Shared.CheckBoxListInfo>();
                for (int i = 0; i < teams.Count; i++)
                {
                    CoachManageTeamEventsView.TeamsToNotify.Add(new CheckBoxListInfo(teams.ElementAt(i).Id.ToString(), teams.ElementAt(i).Name, false));
                }
            }

            return(View(CoachManageTeamEventsView));
        }