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)); }
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()); }
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)); }
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)); }
public ActionResult AssignPlayerBackToRegistrar(Guid id) //id = PlayerID { UserAccessRepository rep = new UserAccessRepository(); Person player = rep.GetPerson(id); return(View(player)); }
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)); }
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)); }
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)); }
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)); }
public ActionResult UnassignTeam(Guid id) //id = PlayerID { UserAccessRepository rep = new UserAccessRepository(); Person player = rep.GetPerson(id); return(View(player)); }
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)); }
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)); }
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)); }
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)); }
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)); }
public ActionResult Delete(Guid id) { UserAccessRepository rep = new UserAccessRepository(); Role role = rep.GetRole(id); return(View(role)); }
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)); }
// 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); }
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)); }
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." })); } }
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)); }
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)); }
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)); }
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)); }
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); } }
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)); }
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)); }
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); }
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)); }