public ActionResult Available() { List <AvailableListingGeneralInfoView> model = AvailableListingGeneralInfoHelpers.GetAllAvailableListingsGeneralInfoView(User); Company userCompany = CompanyHelpers.GetCompanyForUser(User); ViewBag.CurrentCompanyId = userCompany.CompanyId; return(View(model)); }
public ActionResult Requirements() { List <RequirementListingGeneralInfoView> model = RequirementListingGeneralInfoHelpers.GetAllRequirementListingsGeneralInfoView(User); Company userCompany = CompanyHelpers.GetCompanyForUser(User); ViewBag.CurrentCompanyId = userCompany.CompanyId; return(View(model)); }
public ActionResult ProcessButton(string buttonName) { string[] keys = buttonName.Split(':'); string buttonType = keys[0]; string buttonLevel = keys[1]; Guid ofReferenceId = Guid.Empty; Guid byAppUserId = Guid.Empty; Guid.TryParse(keys[2], out ofReferenceId); Guid.TryParse(keys[3], out byAppUserId); Guid byReferenceId = Guid.Empty; LevelEnum levelEnum = LevelEnum.User; //Set the byReference to be either the user, the user's branch or the user's company depending on level switch (buttonLevel) { case "company": levelEnum = LevelEnum.Company; byReferenceId = CompanyHelpers.GetCompanyForUser(byAppUserId).CompanyId; break; case "branch": levelEnum = LevelEnum.Branch; byReferenceId = AppUserHelpers.GetAppUser(byAppUserId).CurrentBranchId; break; case "user": levelEnum = LevelEnum.User; byReferenceId = byAppUserId; break; } switch (buttonType) { case "block": BlockHelpers.CreateBlock(levelEnum, ofReferenceId, byReferenceId, byAppUserId); break; case "friend": FriendHelpers.CreateFriend(levelEnum, ofReferenceId, byReferenceId, byAppUserId); break; case "group": //Need to go to Group screen to select a group or allow adding of a new group return(RedirectToAction("Create", "Groups", new { level = levelEnum, ofReferenceId = ofReferenceId, byReferenceId = byReferenceId, appUserid = byAppUserId })); } return(Json(new { success = true })); }
//// GET: Branches //public ActionResult Index() //{ // return View(db.Branches.ToList()); //} //// GET: Branches/Details/5 //public ActionResult Details(Guid? id) //{ // if (id == null) // { // return new HttpStatusCodeResult(HttpStatusCode.BadRequest); // } // Branch branch = db.Branches.Find(id); // if (branch == null) // { // return HttpNotFound(); // } // return View(branch); //} // GET: Branches/Create public ActionResult Create() { ViewBag.CompanyId = CompanyHelpers.GetCompanyForUser(User).CompanyId; return(View()); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { //If this is a new user and company then set to ACTIVE and an ADMIN role, else set to ON-HOLD and USER role and await activating by admin for branch/company of user and/or new branch details. EntityStatusEnum statusForUser = EntityStatusEnum.Active; UserRoleEnum userRoleForUser = UserRoleEnum.Admin; //initialise the task creation flags bool createUserOnHoldTask = false; bool createBranchOnHoldTask = false; if (model.SelectedCompanyId.HasValue) { statusForUser = EntityStatusEnum.OnHold; userRoleForUser = UserRoleEnum.User; } //Create a new AppUser then write here AppUser appUser = AppUserHelpers.CreateAppUser(model.FirstName, model.LastName, Guid.Empty, statusForUser, model.Email, PrivacyLevelEnum.None, userRoleForUser); Company company = null; Branch branch = null; BranchUser branchUser = null; var user = new ApplicationUser { UserName = model.Email, Email = model.Email, AppUserId = appUser.AppUserId, FullName = model.FirstName + " " + model.LastName, CurrentUserRole = userRoleForUser }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { //only log in if this user is not set to on-hold if (!model.SelectedCompanyId.HasValue) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); } else //we will need to create a task for the branch { createUserOnHoldTask = true; } //Now Update related entities //Company bool createCompany = true; if (model.SelectedCompanyId.HasValue) { if (model.SelectedCompanyId.Value != Guid.Empty) { createCompany = false; } } if (createCompany) { company = CompanyHelpers.CreateCompany(Guid.Empty, model.CompanyName, model.CompanyRegistrationDetails, model.CharityRegistrationDetails, model.VATRegistrationDetails, model.AllowBranchTrading, PrivacyLevelEnum.None, statusForUser); } else { company = CompanyHelpers.GetCompany(model.SelectedCompanyId.Value); } //Branch bool createBranch = true; if (model.SelectedBranchId.HasValue) { if (model.SelectedBranchId.Value != Guid.Empty) { createBranch = false; } } if (createBranch) { string branchName = model.BranchName; if (!model.SelectedCompanyId.HasValue) { branchName = "Head Office"; } if (createCompany) //use details stored against company part of model { branch = BranchHelpers.CreateBranch(company.CompanyId, model.CompanyBusinessType.Value, branchName, model.CompanyAddressLine1, model.CompanyAddressLine2, model.CompanyAddressLine3, model.CompanyAddressTownCity, model.CompanyAddressCounty, model.CompanyAddressPostcode, model.CompanyTelephoneNumber, model.CompanyEmail, model.CompanyContactName, company.PrivacyLevel, statusForUser); } else { //set last addAdminUsers flag to true as this is a new branch on an existing company so all Admin users need to be associated with this branch branch = BranchHelpers.CreateBranch(company.CompanyId, model.BranchBusinessType.Value, branchName, model.BranchAddressLine1, model.BranchAddressLine2, model.BranchAddressLine3, model.BranchAddressTownCity, model.BranchAddressCounty, model.BranchAddressPostcode, model.BranchTelephoneNumber, model.BranchEmail, model.BranchContactName, company.PrivacyLevel, statusForUser); createBranchOnHoldTask = true; } //Company - set head office branch as the newly created branch for this new company (defaults to 'Head Office') if (!model.SelectedCompanyId.HasValue) { company = CompanyHelpers.UpdateCompanyHeadOffice(company.CompanyId, branch.BranchId); } } else { branch = BranchHelpers.GetBranch(model.SelectedBranchId.Value); } //BranchUser - set the status as ACTIVE as the link is active even though the entities linked are not. branchUser = BranchUserHelpers.CreateBranchUser(appUser.AppUserId, branch.BranchId, company.CompanyId, userRoleForUser, EntityStatusEnum.Active); //if addAdminUsersToThisBranch is true then add all admin users for the company to this branch BranchUserHelpers.CreateBranchAdminUsersForNewBranch(branch, userRoleForUser); //Update AppUser with the branch we are adding/using to set as current branch for new user appUser = AppUserHelpers.UpdateCurrentBranchId(appUser.AppUserId, branch.BranchId); // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); //Task creation if (createUserOnHoldTask) { UserTaskHelpers.CreateUserTask(TaskTypeEnum.UserOnHold, "New user on hold, awaiting administrator/manager activation", appUser.AppUserId, appUser.AppUserId, EntityStatusEnum.Active); } if (createBranchOnHoldTask) { UserTaskHelpers.CreateUserTask(TaskTypeEnum.BranchOnHold, "New branch on hold, awaiting administrator activation", branch.BranchId, appUser.AppUserId, EntityStatusEnum.Active); } if (model.SelectedCompanyId.HasValue) { return(RedirectToAction("Confirmation")); } else { return(RedirectToAction("Index", "Home")); } } //Delete the appUser account as this has not gone through AppUserHelpers.DeleteAppUser(appUser.AppUserId); AddErrors(result); } // If we got this far, something failed, redisplay form - set up the drop downs dependant on what was there originally from the model if (model.SelectedCompanyId.HasValue) { ViewBag.CompanyList = ControlHelpers.AllCompaniesListDropDown(model.SelectedCompanyId.Value); if (model.SelectedBranchId.HasValue) { ViewBag.BranchList = ControlHelpers.AllBranchesForCompanyListDropDown(model.SelectedCompanyId.Value, model.SelectedBranchId.Value); } else { ViewBag.BranchList = new SelectList(Enumerable.Empty <SelectListItem>(), "BranchId", "BranchName"); } } else { ViewBag.CompanyList = ControlHelpers.AllCompaniesListDropDown(); ViewBag.BranchList = new SelectList(Enumerable.Empty <SelectListItem>(), "BranchId", "BranchName"); } ViewBag.BusinessTypeList = ControlHelpers.BusinessTypeEnumListDropDown(); return(View(model)); }