public JsonResult EditUser(UserSetup details) { try { string newpass = dbcontext.TCCG_USERs.Where(aa => aa.username == details.uname).First().userpassword; string str_result = string.Empty; if (dbcontext.SPROC_SAVE_USER(details.uname, newpass, details.fullname, details.designation, details.email, "SID002", true, DateTime.Now.Date, DateTime.Now.Date).ReturnValue.ToString() == "0") { List <TCCG_USER_RIGHT> q_listdel = (from aa in dbcontext.TCCG_USER_RIGHTs where aa.Username == details.uname select aa).ToList(); if (q_listdel.Count != 0) { dbcontext.TCCG_USER_RIGHTs.DeleteAllOnSubmit(q_listdel); dbcontext.SubmitChanges(); } foreach (var row in details.accesslst) { if (row.ischeck) { str_result = dbcontext.SPROC_SAVE_USER_RIGHTS(row.menuid, details.uname, procedure.GetUsername()).ReturnValue.ToString(); } } } return(Json(new { result = true }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { result = false, err = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public void First_visit_should_create_same_pages_and_widgets_as_the_template_user() { var profile = default(UserProfile); UserSetup userVisitModel = null; var facade = default(Facade); var anonUserName = default(string); var anonTabs = default(List <Tab>); "Given anonymous user who has never visited the site before".Context(() => { profile = MembershipHelper.CreateNewAnonUser(); facade = new Facade(new AppContext(string.Empty, profile.UserName)); // Load the anonymous user pages and widgets anonUserName = facade.GetUserSettingTemplate().AnonUserSettingTemplate.UserName; anonTabs = facade.GetTabsOfUser(facade.GetUserGuidFromUserName(anonUserName)); }); "When the user visits for the first time".Do(() => { userVisitModel = facade.FirstVisitHomeTab(profile.UserName, string.Empty, true, false); }); "It creates widgets on the newly created page at exact columns and positions as the anon user's pages".Assert(() => { anonTabs.Each(anonTab => { var userTab = userVisitModel.UserTabs.First(page => page.Title == anonTab.Title && page.OrderNo == anonTab.OrderNo && page.PageType == anonTab.PageType); facade.GetColumnsInTab(anonTab.ID).Each(anonColumn => { var userColumns = facade.GetColumnsInTab(userTab.ID); var userColumn = userColumns.First(column => column.ColumnNo == anonColumn.ColumnNo); var anonColumnWidgets = facade.GetWidgetInstancesInZoneWithWidget(anonColumn.WidgetZone.ID); var userColumnWidgets = facade.GetWidgetInstancesInZoneWithWidget(userColumn.WidgetZone.ID); // Ensure the widgets from the anonymous user template's columns are // in the same column and row. anonColumnWidgets.Each(anonWidget => Assert.True(userColumnWidgets.Where(userWidget => userWidget.Title == anonWidget.Title && userWidget.Expanded == anonWidget.Expanded && userWidget.State == anonWidget.State && userWidget.Resized == anonWidget.Resized && userWidget.Height == anonWidget.Height && userWidget.OrderNo == anonWidget.OrderNo).Count() == 1)); }); }); facade.Dispose(); }); }
private async Task CreateAccountsForUserAsync(UserSetup userSetup) { foreach (var employerAccountSetup in userSetup.Accounts) { employerAccountSetup.AccountOutput = await CreateAccountAsync(employerAccountSetup.AccountInput); await CreateLegalEntitiesForAccountsAsync(employerAccountSetup); } }
public void RequiresAuthorizationPolicy_NotLoggedInUser_ReturnsUnauthenticated() { var attr = new RequiresAuthorizationPolicyAttribute("policy"); var user = new ClaimsPrincipal(); var policyStore = UserSetup.GetPolicyStore(); var shouldContinue = attr.ShouldContinue(user, () => policyStore); Assert.False(shouldContinue.ShouldContinue); Assert.Equal(ApiFilterRunResult.Unauthenticated.SetResponseCode, shouldContinue.SetResponseCode); }
public void RequiresAuthentication_AuthenticatedUser_ReturnsContinue() { var attr = new RequiresAuthenticationAttribute(); var httpCtx = new Fakes.FakeHttpContext(); httpCtx.User = UserSetup.GetUser(); var shouldContinue = attr.ShouldContinue(httpCtx); Assert.True(shouldContinue.ShouldContinue); }
public User UserLogin(string userName, string password) { UserSetup us = new UserSetup(); functions.LogIn(userName, password, ref us); User login = new User(us); return(login); }
public HttpResponseMessage UpdateAccountDetail(HttpRequestMessage request, [FromBody] UserSetup accountModel) { return(GetHttpResponse(request, () => { HttpResponseMessage response = null; UserSetup account = null; var securityMode = ConfigurationManager.AppSettings["SecurityMode"].ToString(); // revalidate all steps to ensure this operation is secure against hacks if (accountModel.UserSetupId <= 0) { if (securityMode == "UP") { _SecurityAdapter.Initialize(); _SecurityAdapter.Register(accountModel.LoginID, "@password", propertyValues: new { Name = accountModel.Name, Email = accountModel.Email, MultiCompanyAccess = accountModel.MultiCompanyAccess, LatestConnection = DateTime.Now, Deleted = false, Active = true, CreatedBy = User.Identity.Name, CreatedOn = DateTime.Now, UpdatedBy = User.Identity.Name, UpdatedOn = DateTime.Now, }); account = _CoreService.GetUserSetupByLoginID(accountModel.LoginID); } else { accountModel.LatestConnection = DateTime.Now; accountModel.Active = true; accountModel.Deleted = false; accountModel.CreatedBy = User.Identity.Name; accountModel.CreatedOn = DateTime.Now; accountModel.UpdatedBy = User.Identity.Name; accountModel.UpdatedOn = DateTime.Now; account = _CoreService.UpdateUserSetup(accountModel); } } else { account = _CoreService.UpdateUserSetup(accountModel); } response = request.CreateResponse <UserSetup>(HttpStatusCode.OK, account); return response; })); }
private void RegisterBtn_Click(object sender, EventArgs e) { Random rnd = new Random(); int id = rnd.Next(5, 1300); UserModel newAccount = new UserModel(firstNameBox.Text, lastNameBox.Text, emailBox.Text, phoneNumberBox.Text, 0.0, 0, pwBox.Text); UserSetup.CreateUser(newAccount); this.formMainMenu.btnHomeChild_Click(sender, e); }
public void RequiresClaimWithValues_UserClaimWithAllValues_ReturnsContinue() { var attr = new RequiresClaimWithValuesAttribute("a", "1", "2", "3"); var user = UserSetup.GetUserWithClaims("a:1", "a:2", "a:3"); var httpContext = new Fakes.FakeHttpContext(); httpContext.User = user; var shouldContinue = attr.ShouldContinue(httpContext); Assert.True(shouldContinue.ShouldContinue); }
/// <summary> /// Add the information to create a new user. The user will be available in the <see cref="CurrentUser"/> but will not /// be persisted to the database until <see cref="EmployerAccountsDbBuilder.SetupDataAsync"/> is called. /// </summary> public TestModelBuilder WithNewUser() { var userSetup = new UserSetup { UserInput = _fixture.Create <UserInput>() }; _users.Add(userSetup); return(this); }
public void RequiresAuthorizationPolicy_UserWithPolicy_ReturnsContinue() { var attr = new RequiresAuthorizationPolicyAttribute("policy"); var user = UserSetup.GetUser(); var policyStore = UserSetup.GetPolicyStore(); policyStore.SetPolicy("policy", u => true); var shouldContinue = attr.ShouldContinue(user, () => policyStore); Assert.True(shouldContinue.ShouldContinue); }
public void RequiresAnyRole_UserWitAllRoles_ReturnsContinue() { var attr = new RequiresAnyRoleAttribute("a", "b"); var user = UserSetup.GetUser("a", "b"); var httpContext = new Fakes.FakeHttpContext(); httpContext.User = user; var shouldContinue = attr.ShouldContinue(httpContext); Assert.True(shouldContinue.ShouldContinue); }
public void RequiresAnyClaims_AuthorizedUserWithAllClaims_ReturnsAuthorized() { var attr = new RequiresAnyClaimAttribute("b", "c", "a"); var user = UserSetup.GetUserWithClaims("a:0", "b:1", "c:2"); var httpContext = new Fakes.FakeHttpContext(); httpContext.User = user; var shouldContinue = attr.ShouldContinue(httpContext); Assert.True(shouldContinue.ShouldContinue); }
public void RequiresAuthorizationPolicy_UserWithoutPolicy_ReturnsUnauthorized() { var attr = new RequiresAuthorizationPolicyAttribute("policy"); var user = UserSetup.GetUser(); var policyStore = UserSetup.GetPolicyStore(); policyStore.SetPolicy("policy", u => false); var shouldContinue = attr.ShouldContinue(user, () => policyStore); Assert.False(shouldContinue.ShouldContinue); Assert.Equal(ApiFilterRunResult.Unauthorized.SetResponseCode, shouldContinue.SetResponseCode); }
public void RequiresAnyRole_UserWithoutRoles_ReturnsUnauthorized() { var attr = new RequiresAnyRoleAttribute("a", "b"); var user = UserSetup.GetUser(); var httpContext = new Fakes.FakeHttpContext(); httpContext.User = user; var shouldContinue = attr.ShouldContinue(httpContext); Assert.False(shouldContinue.ShouldContinue); Assert.Equal(ApiFilterRunResult.Unauthorized.SetResponseCode, shouldContinue.SetResponseCode); }
public void RequiresClaimWithValues_UserClaimWithSomeValues_ReturnsUnauthorized() { var attr = new RequiresClaimWithValuesAttribute("a", "1", "2", "3"); var user = UserSetup.GetUserWithClaims("a:1", "a:2"); var httpContext = new Fakes.FakeHttpContext(); httpContext.User = user; var shouldContinue = attr.ShouldContinue(httpContext); Assert.False(shouldContinue.ShouldContinue); Assert.Equal(ApiFilterRunResult.Unauthorized.SetResponseCode, shouldContinue.SetResponseCode); }
public HttpResponseMessage updateUserProfile(HttpRequestMessage request) { return(GetHttpResponse(request, () => { HttpResponseMessage response = null; UserSetup account = _CoreService.GetUserSetupByLoginID(User.Identity.Name); // notice no need to create a seperate model object since Account entity will do just fine response = request.CreateResponse <UserSetup>(HttpStatusCode.OK, account); return response; })); }
public HttpResponseMessage GetAccountInfo(HttpRequestMessage request, int accountId) { return(GetHttpResponse(request, () => { HttpResponseMessage response = null; UserSetup account = _CoreService.GetUserSetup(accountId); // notice no need to create a seperate model object since Account entity will do just fine response = request.CreateResponse <UserSetup>(HttpStatusCode.OK, account); return response; })); }
public ActionResult EditUser(string id) { UserSetup usetup = new UserSetup(); List <AccessList> acclist = new List <AccessList>(); var q_userprofile = from aa in dbcontext.TCCG_USERs where aa.username == id select aa; var q_usermenu = from aa in dbcontext.TCCG_USER_RIGHTs where aa.Username == id select aa; if (q_userprofile.Any()) { usetup.uname = id; usetup.designation = q_userprofile.First().userdesignation; usetup.email = q_userprofile.First().useremail; usetup.fullname = q_userprofile.First().userfullname; } var q_menulist = from aa in dbcontext.TCCG_MENUs where aa.ParentMenuID != "0" orderby aa.MenuOrder select aa; if (q_menulist.Any()) { foreach (var row in q_menulist) { bool hasmenu = false; foreach (var umenu in q_usermenu) { if (row.MenuID == umenu.MenuID) { hasmenu = true; } } acclist.Add(new AccessList { menuid = row.MenuID, menuname = row.MenuText, ischeck = hasmenu }); } } usetup.accesslst = acclist; return(View(usetup)); }
public void Widget_should_be_able_to_move_to_another_column() { var profile = default(UserProfile); UserSetup userVisitModel = default(UserSetup); var facade = default(Facade); var widgetInstance = default(WidgetInstance); var userColumns = default(List <Column>); var secondColumn = default(Column); var noOfWidgetsOnSeconColumn = default(int); "Given a new user and a widget on user's page".Context(() => { profile = MembershipHelper.CreateNewAnonUser(); facade = new Facade(new AppContext(string.Empty, profile.UserName)); userVisitModel = facade.FirstVisitHomeTab(profile.UserName, "Test", true, false); userColumns = facade.GetColumnsInTab(userVisitModel.CurrentTab.ID); var firstColumn = userColumns.First(); var widgetsOnColumn = facade.GetWidgetInstancesInZoneWithWidget(firstColumn.WidgetZone.ID); widgetInstance = widgetsOnColumn.First(); }); "When the widget is moved to another column".Do(() => { secondColumn = userColumns.ElementAt(1); noOfWidgetsOnSeconColumn = facade.GetWidgetInstancesInZoneWithWidget(secondColumn.WidgetZone.ID).Count(); facade.MoveWidgetInstance(widgetInstance.Id, secondColumn.WidgetZone.ID, 1); }); "It should remain there permanently".Assert(() => { var newWidgetsOnSecondColumn = facade.GetWidgetInstancesInZoneWithWidget(secondColumn.WidgetZone.ID); var widgetAfterMove = newWidgetsOnSecondColumn.Where(wi => wi.OrderNo == 1).FirstOrDefault(); Assert.NotNull(widgetAfterMove); Assert.Equal(widgetInstance.Id, widgetAfterMove.Id); }); "It should push down other widgets where it is dropped".Assert(() => { var newWidgetsOnSecondColumn = facade.GetWidgetInstancesInZoneWithWidget(secondColumn.WidgetZone.ID); // There should be 1 widget before it Assert.Equal(1, newWidgetsOnSecondColumn.Where(wi => wi.OrderNo < 1).Count()); // There should be N-1 widgets after it where N = before move number of columns Assert.Equal(noOfWidgetsOnSeconColumn - 1, newWidgetsOnSecondColumn.Where(wi => wi.OrderNo > 1).Count()); }); }
/* cutting input validations for time * public bool ValidateEmail(this string s) * { * Regex regex = new Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"); * return regex.IsMatch(s); * } */ private void LoginBtn_Click(object sender, EventArgs e) { if (emailBox.Text.Trim() == "" || PWBox.Text.Trim() == "") { //May Edit this later MessageBox.Show("Incorrect Email or Password, Please Try Again", "Error"); } else { /* * table.rows[rowindex][columnname] * table.rows[rowindex][columnindex] * foreach(DataRow row in YourDataTable.Rows) * { * * */ //UserSetup LoginConnector = new UserSetup(); var loginGrab = UserSetup.Login(emailBox.Text, PWBox.Text); if (!loginGrab.Equals("_failedLogin")) { formMainMenu.UserEmail = loginGrab; var dt = UserSetup.GetAccount(loginGrab); var id = dt.Rows[0][0]; var fname = dt.Rows[0][1]; var lname = dt.Rows[0][2]; var email = dt.Rows[0][3]; var phone = dt.Rows[0][4]; var fine = dt.Rows[0][5]; formMainMenu.id = id.ToString(); formMainMenu.fname = fname.ToString(); formMainMenu.lname = lname.ToString(); formMainMenu.UserEmail = email.ToString(); formMainMenu.phone = phone.ToString(); formMainMenu.fine = fine.ToString(); formMainMenu.LoginWelcomeMessage(fname.ToString(), lname.ToString()); formMainMenu.isLoggedIn = true; formMainMenu.openChildForm(new LoggedInDashboardForm()); } //MessageBox.Show("Login Failed"); //. } //check lofin info // this.formMainMenu.btnHomeChild_Click(sender,e); }
public void RequiresAuthorizationPolicy_NonExistingPolicy_ThrowsException() { var attr = new RequiresAuthorizationPolicyAttribute("policy"); var user = UserSetup.GetUser(); var policyStore = UserSetup.GetPolicyStore(); bool error = false; try { attr.ShouldContinue(user, () => policyStore); } catch (Exception ex) { error = ex.Message.Contains("not found"); } Assert.True(error); }
public void Revisit_should_load_the_pages_and_widgets_exactly_the_same() { var profile = default(UserProfile); UserSetup userVisitModel = null; UserSetup userRevisitModel = null; var facade = default(Facade); "Given an anonymous user who visited first".Context(() => { profile = MembershipHelper.CreateNewAnonUser(); facade = new Facade(new AppContext(string.Empty, profile.UserName)); userVisitModel = facade.FirstVisitHomeTab(profile.UserName, string.Empty, true, false); }); "When the same user visits again".Do(() => { userRevisitModel = facade.RepeatVisitHomeTab(profile.UserName, string.Empty, true, false); }); "It should load the exact same pages, column and widgets as the first visit produced".Assert(() => { userVisitModel.UserTabs.Each(firstVisitTab => { Assert.True(userRevisitModel.UserTabs.Exists(page => page.ID == firstVisitTab.ID)); var revisitTab = userRevisitModel.UserTabs.First(page => page.ID == firstVisitTab.ID); var revisitTabColumns = facade.GetColumnsInTab(revisitTab.ID); facade.GetColumnsInTab(firstVisitTab.ID).Each(firstVisitColumn => { var revisitColumn = revisitTabColumns.First(column => column.ID == firstVisitColumn.ID); var firstVisitWidgets = facade.GetWidgetInstancesInZoneWithWidget(firstVisitColumn.WidgetZone.ID); var revisitWidgets = facade.GetWidgetInstancesInZoneWithWidget(revisitColumn.WidgetZone.ID); firstVisitWidgets.Each(firstVisitWidget => Assert.True(revisitWidgets.Where(revisitWidget => revisitWidget.Id == firstVisitWidget.Id).Count() == 1)); }); }); facade.Dispose(); }); }
public User(UserSetup us) { UserID = us.User[0].UserID; for (int i = 0; i < us.User[0].Password.Length; i++) { Password += "*"; } SessionID = us.User[0].SessionID; CreateRMA = us.User[0].CreateRMA.ToUpper() == "YES" ? true : false; CreatePDARMA = us.User[0].CreatePDARma.ToUpper() == "YES" ? true : false; CreateReturnLabel = us.User[0].CreateRetLabel.ToUpper() == "YES" ? true : false; CreateExchange = us.User[0].CreateExchange.ToUpper() == "YES" ? true : false; CreatePDAExchange = us.User[0].CreatePDAExchange.ToUpper() == "YES" ? true : false; CreatePartRequest = us.User[0].CreatePartRequest.ToUpper() == "YES" ? true : false; CreatePDAPartRequest = us.User[0].CreatePDAPartRequest.ToUpper() == "YES" ? true : false; CanIssueRefund = us.User[0].IssueRefund.ToUpper() == "YES" ? true : false; CanIssuePDARefund = us.User[0].IssuePDARefund.ToUpper() == "YES" ? true : false; CanCancelOrder = us.User[0].CancelOrder.ToUpper() == "YES" ? true : false; CanCancelPDAOrder = us.User[0].CancelPDAOrder.ToUpper() == "YES" ? true : false; CanPartialRefund = us.User[0].CanPartialRefund.ToUpper() == "YES" ? true : false; CanPartialRefundPDA = us.User[0].CanPartialRefundPDA.ToUpper() == "YES" ? true : false; Supervisor = us.User[0].Supervisor.ToUpper() == "YES" ? true : false; Admin = us.User[0].Admin.ToUpper() == "YES" ? true : false; Developer = us.User[0].Developer.ToUpper() == "YES" ? true : false; Supervisor = us.User[0].Supervisor.ToUpper() == "YES" ? true : false; PasswordLastUpdated = us.User[0].PasswordLastUpdated; PasswordExpiryDate = us.User[0].PasswordExpiryDate; SessionTimeout = us.User[0].SessionTimeout; RefundTier = us.User[0].PartialRefundTier; ZendeskEmail = us.User[0].ZendeskEmail; }
public HttpResponseMessage getActiveDirectoryUserDetail(HttpRequestMessage request, string loginid) { return(GetHttpResponse(request, () => { HttpResponseMessage response = null; loginid = loginid.Replace("FORWARDSLASHXTER", "/").Trim(); loginid = loginid.Replace("DOTXTER", ".").Trim(); string connection = ConfigurationManager.ConnectionStrings["ADConnectionString"].ToString(); System.DirectoryServices.DirectorySearcher dssearch = new System.DirectoryServices.DirectorySearcher(connection); dssearch.Filter = "(sAMAccountName=" + loginid + ")"; System.DirectoryServices.SearchResult sresult = dssearch.FindOne(); System.DirectoryServices.DirectoryEntry dsresult = sresult.GetDirectoryEntry(); string firstname = Convert.ToString(dsresult.Properties["givenName"].Value); string lastname = Convert.ToString(dsresult.Properties["sn"].Value); //sn means surname //string empid = Convert.ToString(dsresult.Properties["employeeID"].Value); string empid = Convert.ToString(dsresult.Properties["company"].Value); //string empno = Convert.ToString(dsresult.Properties["employeeNumber"].Value); string mail = Convert.ToString(dsresult.Properties["mail"].Value); var ADuserdetail = new UserSetup() { //LoginID = loginid, //Name = "Taiwo", //Email = "*****@*****.**", //StaffID = "empid" LoginID = loginid, Name = firstname + " " + lastname, Email = mail, StaffID = empid }; response = request.CreateResponse <UserSetup>(HttpStatusCode.OK, ADuserdetail); return response; })); }
public void Register(UserSetup model) { //create user if (!WebSecurity.UserExists(model.LoginID)) { WebSecurity.CreateUserAndAccount(model.LoginID, "@password", new { Name = model.LoginID, Email = model.Email, MultiCompanyAccess = model.MultiCompanyAccess, LatestConnection = DateTime.Now, Active = true, Deleted = false, CreatedBy = "Auto", CreatedOn = DateTime.Now, UpdatedBy = "Auto", UpdatedOn = DateTime.Now }); } }
public ActionResult CreateNewUser() { UserSetup usetup = new UserSetup(); List <AccessList> acclist = new List <AccessList>(); var q_menulist = from aa in dbcontext.TCCG_MENUs where aa.ParentMenuID != "0" orderby aa.MenuOrder select aa; if (q_menulist.Any()) { foreach (var row in q_menulist) { acclist.Add(new AccessList { menuid = row.MenuID, menuname = row.MenuText }); } } usetup.accesslst = acclist; return(View(usetup)); }
private void LoadUserPageSetup(bool noCache) { // If URL has the page title, load that page by default string pageTitle = (Request.Url.Query ?? Resources.SharedResources.NewTabTitle).TrimStart('?'); var facade = Services.Get <Facade>(); if (Profile.IsAnonymous) { if (Profile.IsFirstVisit) { // First visit Profile.IsFirstVisit = false; Profile.Save(); _Setup = facade.FirstVisitHomeTab(Profile.UserName, pageTitle, true, Profile.IsFirstVisitAfterLogin); } else { _Setup = facade.RepeatVisitHomeTab(Profile.UserName, pageTitle, true, Profile.IsFirstVisitAfterLogin); } } else { _Setup = facade.RepeatVisitHomeTab(Profile.UserName, pageTitle, false, Profile.IsFirstVisitAfterLogin); // OMAR: If user's cookie remained in browser but the database was changed, there will be no pages. So, we need // to recrate the pages if (_Setup == null || _Setup.UserTabs == null || _Setup.UserTabs.Count() == 0) { _Setup = facade.FirstVisitHomeTab(Profile.UserName, pageTitle, true, Profile.IsFirstVisitAfterLogin); } } //save the profile to keep LastActivityAt updated Profile.LastActivityAt = DateTime.Now; Profile.IsFirstVisitAfterLogin = false; Profile.Save(); }
public UserSetup RepeatVisitHomeTab(string userName, string pageTitle, bool isAnonymous, bool isFirstVisitAfterLogin) { // User is visiting again, so load user's existing page setup var response = new UserSetup(); var userGuid = this.GetUserGuidFromUserName(userName); var pages = this.pageRepository.GetTabsOfUser(userGuid); if (!pages.IsEmpty()) { // User has pages response.UserTabs = pages; response.UserSharedTabs = this.GetSharedTabs(userName); var userSetting = GetUserSetting(userGuid); response.CurrentTab = DecideCurrentTab(userGuid, pageTitle, response.UserTabs, response.UserSharedTabs); if (userSetting.CurrentTab.ID != response.CurrentTab.ID) { SetCurrentTab(userGuid, response.CurrentTab.ID); } response.UserSetting = GetUserSetting(userGuid); response.CurrentUserId = userGuid; var templateSetup = this.GetUserSettingTemplate(); response.IsTemplateUser = templateSetup.AnonUserSettingTemplate.UserName.IsSameAs(userName) || templateSetup.RegisteredUserSettingTemplate.UserName.IsSameAs(userName); } else { // User has no pages response = FirstVisitHomeTab(userName, pageTitle, isAnonymous, isFirstVisitAfterLogin); } return(response); }
private void BUT_ChangeUserSetup_Click(object sender, EventArgs e) { GCSViews.UserSetup UserSetup = new UserSetup(); UserSetup.ShowDialog(); }
public async Task SecureController_UserWithoutClaims_CannotAccessActionWithCustomPolicy() { await AssertSecureControllerAccess(UserSetup.GetUserWithClaims(), "Get5", 403, UserSetup.GetPolicyStore()); }
public UserSetup FirstVisitHomeTab(string userName, string pageTitle, bool isAnonymous, bool isFirstVisitAfterLogin) { // If user does not exist, then this is the very *FIRST VISIT* of the user and user // Get template setting that so that we can create pages from templates var response = new UserSetup(); var userGuid = this.GetUserGuidFromUserName(userName); var userSettingTemplate = GetUserSettingTemplate(); // OMAR: Disabling this because setting a role to a user created an entry in aspnet_Membership table //SetUserRoles(userName, new string[] { userSettingTemplate.AnonUserSettingTemplate.RoleNames }); if (userSettingTemplate.CloneAnonProfileEnabled) { // Get the template user so that its page setup can be cloned for new user //var templateUserGuid = this.GetUserGuidFromUserName(userSettingTemplate.AnonUserSettingTemplate.UserName); var roleTemplate = GetRoleTemplate(userSettingTemplate.AnonUserSettingTemplate.UserName); if (roleTemplate != default(RoleTemplate)) { // Get template user pages so that it can be cloned for new user var templateUserTabs = this.pageRepository.GetTabsOfUser(roleTemplate.AspNetUser.UserId); foreach (Tab templateTab in templateUserTabs) { if (!templateTab.IsLocked) { CloneTab(userGuid, templateTab); } } // If it's not the same user as the template user, then show the tabs // from template user as read-only tabs. if (roleTemplate.AspNetUser.UserId != userGuid) { response.UserSharedTabs = this.pageRepository.GetLockedTabsOfUser(roleTemplate.AspNetUser.UserId, false); } response.IsTemplateUser = (roleTemplate.AspNetUser.UserId == userGuid); //response.RoleTemplate = roleTemplate; } } else { // Setup some default pages var page = CreateTab(userGuid, pageTitle, 0, 0); if (page != null && page.ID > 0) { CreateDefaultWidgetsOnTab(userName, page.ID); RepeatVisitHomeTab(userName, pageTitle, isAnonymous, isFirstVisitAfterLogin); // non-recursive. this will hit the outter most else block } else { throw new ApplicationException("First page creation failed"); } } response.UserTabs = this.pageRepository.GetTabsOfUser(userGuid); response.UserSetting = GetUserSetting(userGuid); response.CurrentTab = DecideCurrentTab(userGuid, pageTitle, response.UserTabs, response.UserSharedTabs); response.CurrentUserId = userGuid; return response; }
private void LoadUserPageSetup(bool noCache) { // If URL has the page title, load that page by default string pageTitle = (Request.Url.Query ?? Resources.SharedResources.NewTabTitle).TrimStart('?'); var facade = Services.Get<Facade>(); if (Profile.IsAnonymous) { if (Profile.IsFirstVisit) { // First visit Profile.IsFirstVisit = false; Profile.Save(); _Setup = facade.FirstVisitHomeTab(Profile.UserName, pageTitle, true, Profile.IsFirstVisitAfterLogin); } else { _Setup = facade.RepeatVisitHomeTab(Profile.UserName, pageTitle, true, Profile.IsFirstVisitAfterLogin); } } else { _Setup = facade.RepeatVisitHomeTab(Profile.UserName, pageTitle, false, Profile.IsFirstVisitAfterLogin); // OMAR: If user's cookie remained in browser but the database was changed, there will be no pages. So, we need // to recrate the pages if (_Setup == null || _Setup.UserTabs == null || _Setup.UserTabs.Count() == 0) { _Setup = facade.FirstVisitHomeTab(Profile.UserName, pageTitle, true, Profile.IsFirstVisitAfterLogin); } } //save the profile to keep LastActivityAt updated Profile.LastActivityAt = DateTime.Now; Profile.IsFirstVisitAfterLogin = false; Profile.Save(); }
public UserSetup RepeatVisitHomeTab(string userName, string pageTitle, bool isAnonymous, bool isFirstVisitAfterLogin) { // User is visiting again, so load user's existing page setup var response = new UserSetup(); var userGuid = this.GetUserGuidFromUserName(userName); var pages = this.pageRepository.GetTabsOfUser(userGuid); if (!pages.IsEmpty()) { // User has pages response.UserTabs = pages; response.UserSharedTabs = this.GetSharedTabs(userName); var userSetting = GetUserSetting(userGuid); response.CurrentTab = DecideCurrentTab(userGuid, pageTitle, response.UserTabs, response.UserSharedTabs); if (userSetting.CurrentTab.ID != response.CurrentTab.ID) { SetCurrentTab(userGuid, response.CurrentTab.ID); } response.UserSetting = GetUserSetting(userGuid); response.CurrentUserId = userGuid; var templateSetup = this.GetUserSettingTemplate(); response.IsTemplateUser = templateSetup.AnonUserSettingTemplate.UserName.IsSameAs(userName) || templateSetup.RegisteredUserSettingTemplate.UserName.IsSameAs(userName); } else { // User has no pages response = FirstVisitHomeTab(userName, pageTitle, isAnonymous, isFirstVisitAfterLogin); } return response; }