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();
            });
        }
Exemple #3
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #13
0
        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;
            }));
        }
Exemple #19
0
        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();
            });
        }
Exemple #24
0
        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
         });
     }
 }
Exemple #27
0
        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));
        }
Exemple #28
0
    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();
    }
Exemple #29
0
        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();

        }
Exemple #31
0
 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;
        }