Пример #1
0
        public UserSecurity GetUserCredentials(string userId, string password)
        {
            // Create the Database object, using the default database service. The
            // default database service is determined through configuration.
            Database db = DatabaseFactory.CreateDatabase();

            string sqlCommand = "UI_GetUserCredentials";
            DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand);

            // DataSet that will hold the returned results
            DataSet commentaryDataSet = null;

            commentaryDataSet = db.ExecuteDataSet(dbCommand);

            // Note: connection was closed by ExecuteDataSet method call
            UserSecurity _userSecurity = new UserSecurity();

            foreach (DataRow dr in commentaryDataSet.Tables[0].Rows)
            {

                _userSecurity.UserId = dr["UserId"].ToString();
                _userSecurity.FirstName = dr["FirstName"].ToString();
                _userSecurity.LastName =  dr["LastName"].ToString();
                _userSecurity.PhoneNumber =  dr["PhoneNumber"].ToString();
                _userSecurity.SubscriptionStartDate = DateTime.Parse(dr["SubscriptionStartDate"].ToString());
                _userSecurity.SubscriptionEndDate = DateTime.Parse(dr["SubscriptionEndDate"].ToString());

            }

            return _userSecurity;
        }
Пример #2
0
 private bool IsSuccessfullyAuthenticated(string providedEmail, string providedPassword, UserSecurity persistedUserSecurity)
 {
     return(_hasher.DoesProvidedPasswordMatchPersistedPassword(providedPassword, persistedUserSecurity));
 }
Пример #3
0
        protected virtual List <ActionViewModel> GetActions()
        {
            var actionList = new List <ActionViewModel>();

            if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, ModuleState.Permissions))
            {
                actionList.Add(new ActionViewModel {
                    Name = "Manage Settings", Action = async(u, m) => await Settings(u, m)
                });

                if (ModuleState.ModuleDefinition != null && ModuleState.ModuleDefinition.ServerManagerType != "")
                {
                    actionList.Add(new ActionViewModel {
                        Name = "Import Content", Action = async(u, m) => await EditUrlAsync(u, m.ModuleId, "Import")
                    });
                    actionList.Add(new ActionViewModel {
                        Name = "Export Content", Action = async(u, m) => await EditUrlAsync(u, m.ModuleId, "Export")
                    });
                }

                actionList.Add(new ActionViewModel {
                    Name = "Delete Module", Action = async(u, m) => await DeleteModule(u, m)
                });
                actionList.Add(new ActionViewModel {
                    Name = ""
                });

                if (ModuleState.PaneModuleIndex > 0)
                {
                    actionList.Add(new ActionViewModel {
                        Name = "Move To Top", Action = async(s, m) => await MoveTop(s, m)
                    });
                }

                if (ModuleState.PaneModuleIndex > 0)
                {
                    actionList.Add(new ActionViewModel {
                        Name = "Move Up", Action = async(s, m) => await MoveUp(s, m)
                    });
                }

                if (ModuleState.PaneModuleIndex < (ModuleState.PaneModuleCount - 1))
                {
                    actionList.Add(new ActionViewModel {
                        Name = "Move Down", Action = async(s, m) => await MoveDown(s, m)
                    });
                }

                if (ModuleState.PaneModuleIndex < (ModuleState.PaneModuleCount - 1))
                {
                    actionList.Add(new ActionViewModel {
                        Name = "Move To Bottom", Action = async(s, m) => await MoveBottom(s, m)
                    });
                }

                foreach (string pane in PageState.Page.Panes.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    if (pane != ModuleState.Pane)
                    {
                        actionList.Add(new ActionViewModel {
                            Name = "Move To " + pane + " Pane", Action = async(s, m) => await MoveToPane(s, pane, m)
                        });
                    }
                }
            }

            return(actionList);
        }
Пример #4
0
 public bool DoesProvidedPasswordMatchPersistedPassword(string providedPassword, UserSecurity persistedUserSecurity)
 {
     return(CreateHashOfPasswordAndSalt(providedPassword, persistedUserSecurity.AppliedSalt)
            .Equals(persistedUserSecurity.PasswordHashedAndSalted));
 }
Пример #5
0
        protected override async Task ActionAsync()
        {
            var siteId = Input.Data.SiteId;
            await UserSecurity.CheckHasOneRolesAsync(_userService, Input.UserId, siteId, SiteUserRole.Administrator, SiteUserRole.PrivateUser);

            var beginDate = DateTime.Today;
            var endDate   = DateTime.Today.AddDays(1);

            if (Input.Data.Date.HasValue)
            {
                beginDate = Input.Data.Date.Value.Date;
                endDate   = Input.Data.Date.Value.Date.AddDays(1);
            }

            Result.Data = new GetStatsResult();

            var stats = await _statService.GetStatsync(beginDate, endDate, siteId);

            var pages = (from p in stats
                         group p by p.PageName
                         into g
                         select new
            {
                PageName = g.Key,
                PageParams = (from newp in g.ToList() group newp by newp.PageParam into newg select new { Param = newg.Key, NbView = newg.Count(), NbNewClientSession = newg.Count(p => p.IsNewClientSesssion == true), NbNewCookieSession = newg.Count(p => p.IsNewCookieSesssion == true) }).ToList(),
                g.First().Url,
                NbView = g.Count(),
                NbNewClientSession = g.Count(p => p.IsNewClientSesssion == true),
                NbNewCookieSession = g.Count(p => p.IsNewCookieSesssion == true)
            }
                         ).OrderBy(p => p.PageName).ToList();

            var referrers = (from p in stats.Where(a => a.IsNewClientSesssion == true)
                             group p by p.Referrer
                             into g
                             select new
            {
                Referrer = g.Key,
                g.First().Url,
                NbNewClientSession = g.Count(),
                NbNewCookieSession = g.Count(p => p.IsNewCookieSesssion == true)
            }
                             ).OrderBy(p => p.Referrer).ToList();

            var regions = (from p in stats.Where(a => a.IsNewClientSesssion == true && a.Geo != null && a.Geo.RegionName != null)
                           group p by p.Geo.RegionName.ToLower()
                           into g
                           select new
            {
                g.First().Geo.RegionName,
                g.First().Geo.Country,
                NbNewClientSession = g.Count(),
                NbNewCookieSession = g.Count(p => p.IsNewCookieSesssion == true)
            }
                           ).OrderBy(p => p.Country).OrderBy(p => p.RegionName).ToList();

            var devices = (from p in stats.Where(a => a.IsNewClientSesssion == true)
                           group p by p.TypeDevice
                           into g
                           select new
            {
                Device = g.First().TypeDevice,
                NbNewClientSession = g.Count(),
                NbNewCookieSession = g.Count(p => p.IsNewCookieSesssion == true)
            }
                           ).ToList();

            var hoursList = (from p in stats
                             group p by p.CreateDate.ToLocalTime().Hour
                             into g
                             select new
            {
                Hour = g.Key,
                NbView = g.Count(),
                NbNewClientSession = g.Count(p => p.IsNewClientSesssion == true),
                NbNewCookieSession = g.Count(p => p.IsNewCookieSesssion == true)
            }
                             ).ToList();


            var hours = new List <dynamic>();

            for (var i = 0; i <= 24; i++)
            {
                var info = hoursList.FirstOrDefault(p => p.Hour == i);

                if (info == null)
                {
                    info = new
                    {
                        Hour               = i,
                        NbView             = 0,
                        NbNewClientSession = 0,
                        NbNewCookieSession = 0
                    };
                }

                hours.Add(info);
            }

            var nbVisit      = stats.Count(p => p.IsNewClientSesssion == true);
            var nbNewVisitor = stats.Count(p => p.IsNewCookieSesssion == true);
            var nbPageView   = stats.Count();

            var data = Result.Data;

            data.NbVisit      = nbVisit;
            data.NbNewVisitor = nbNewVisitor;
            data.NbPageView   = nbPageView;
            data.Pages        = pages;
            data.Referrers    = referrers;
            data.Hours        = hours;
            data.Regions      = regions;
            data.Devices      = devices;
        }
Пример #6
0
        protected override async Task ActionAsync()
        {
            await UserSecurity.CheckIsSuperAdministratorAsync(_userService, Input.UserId);

            await _logService.ClearLogsAsync();
        }
Пример #7
0
        private void crystalReportViewer1_Load(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();

            ds = GetDs();
            if (UserSecurity.HavingPrivilege(User.cur_user, "SPOOLWAREHOUSEUSERS"))
            {
                NestProjectMaterialRpt pmrpt = new NestProjectMaterialRpt();
                pmrpt.SetDataSource(ds);
                crystalReportViewer1.ReportSource = pmrpt;
            }
            else
            {
                ProjectMaterialRpt pmrpt = new ProjectMaterialRpt();
                pmrpt.SetDataSource(ds);
                crystalReportViewer1.ReportSource = pmrpt;
            }


            //crystalReportViewer1.DisplayGroupTree = false;
            ParameterFields        paramFields = new ParameterFields();
            ParameterField         paramField1 = new ParameterField();
            ParameterDiscreteValue discreteVal = new ParameterDiscreteValue();

            //   第一个参数是具有多个值的离散参数。设置参数字段的名称,它必须和报表中的参数相符。
            paramField1.ParameterFieldName = "kickoffdate";
            //   设置离散值并将其传递给该参数。
            discreteVal.Value = User.KickOffDate;
            paramField1.CurrentValues.Add(discreteVal);
            //   将该参数添加到参数字段集合。
            paramFields.Add(paramField1);

            ParameterField         paramField2  = new ParameterField();
            ParameterDiscreteValue discreteVal2 = new ParameterDiscreteValue();

            paramField2.ParameterFieldName = "TotalBaseLength";
            discreteVal2.Value             = User.TotalBaseLength;
            paramField2.CurrentValues.Add(discreteVal2);
            paramFields.Add(paramField2);

            ParameterField         paramField5  = new ParameterField();
            ParameterDiscreteValue discreteVal5 = new ParameterDiscreteValue();

            paramField5.ParameterFieldName = "kickoffdateStart";
            discreteVal5.Value             = User.KickOffDate_start;
            paramField5.CurrentValues.Add(discreteVal5);
            paramFields.Add(paramField5);

            ParameterField         paramField6  = new ParameterField();
            ParameterDiscreteValue discreteVal6 = new ParameterDiscreteValue();

            paramField6.ParameterFieldName = "kickoffdateEnd";
            discreteVal6.Value             = User.KickOffDate_end;
            paramField6.CurrentValues.Add(discreteVal6);
            paramFields.Add(paramField6);

            ParameterField         paramField7  = new ParameterField();
            ParameterDiscreteValue discreteVal7 = new ParameterDiscreteValue();

            paramField7.ParameterFieldName = "TotalWeight";
            discreteVal7.Value             = User.PipeBaseTotalWeight;
            paramField7.CurrentValues.Add(discreteVal7);
            paramFields.Add(paramField7);

            crystalReportViewer1.ParameterFieldInfo = paramFields;
        }
Пример #8
0
 public NewUserMVVM(Page page) : base(page)
 {
     random       = new Random();
     userSecurity = new UserSecurity();
 }
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            /*
             * var userManager = context.OwinContext.GetUserManager<ApplicationUserManager>();
             *
             * ApplicationUser user = await userManager.FindAsync(context.UserName, context.Password);
             *
             * if (user == null)
             * {
             *  context.SetError("invalid_grant", "The user name or password is incorrect.");
             *  return;
             * }
             *
             * */

            PrivateEncryption privateEncrytion = new PrivateEncryption(ConfigHelper.GetPasswordCryptoSecretKey());
            string            strUserName      = context.UserName;
            string            strPassword      = context.Password;

            if (context.Scope[0].ToLower() == "autologin")
            {
                string decryptedPODetails = privateEncrytion.Decrypt(context.Password.Replace("~", "/").Replace("`", "="));

                string[] strAuthDetails   = decryptedPODetails.Split(new string[] { "POKeyValue" }, StringSplitOptions.None);
                string   strLoginUserName = strAuthDetails[0].ToString();
                string   strKeyValue      = strAuthDetails[1].ToString();

                string decryptTimeStamp = strKeyValue;
                bool   expired          = Math.Abs((DateTime.UtcNow - new DateTime(Convert.ToInt64(decryptTimeStamp))).TotalMinutes) < intTokenValidTime;

                if (!expired)
                {
                    context.SetError("invalid_grant", "Token expired. Please try again.");
                    return;
                }

                strUserName = strPassword = strAuthDetails[0].ToString();
            }
            int? userId           = null;
            int? districtId       = null;
            bool isFirstTimeLogin = false;
            //string password = context.Password.Substring(0, Math.Min(context.Password.Length, 12));
            string encyptedPassword = context.Scope[0].ToLower() == "supportlogin" ? strPassword : privateEncrytion.Encrypt(strPassword);
            byte?  isValid          = UserSecurity.AuthenticateUser(strUserName, encyptedPassword, ref userId, ref districtId);

            if (userId == 0)
            {
                context.SetError("invalid_grant", "The user name or password is incorrect.");
                return;
            }

            DataTable    dtsocialShare = null;
            SharingModel SocialShare   = new SharingModel();

            if (districtId != null)
            {
                dtsocialShare = UserSecurity.GetsocialShare(districtId.Value);

                foreach (DataRow drShare in dtsocialShare.Rows)
                {
                    SocialShare.FaceBookSharing  = drShare.Field <bool>("Facebook Share");
                    SocialShare.InstagramSharing = drShare.Field <bool>("Instagram Share");
                    SocialShare.TwitterSharing   = drShare.Field <bool>("Twitter Share");
                }
            }

            UserProfile ud  = UserSecurity.RetrieveUserDetail(userId);
            District    isd = District.GetDistrict(districtId);

            if (ud.LastLoginDate == Convert.ToDateTime("1/1/1900 12:00:00 AM") || ud.LastLoginDate == DateTime.MinValue || ud.LastLoginDate == null)
            {
                isFirstTimeLogin = true;
            }
            else
            {
                isFirstTimeLogin = false;
            }

            switch (isValid)
            {
            case 0:     //User successfully logged in
                /*
                 * if (UrlHelper.CanUserLoginToRequestedURL(districtId))
                 * {
                 *  Security.Login(userId);
                 *  PageHelper.TransferUserToDefaultPage();
                 * }
                 * else
                 * {
                 *  PrivateEncryption encryption = new PrivateEncryption(ConfigHelper.GetPasswordCryptoSecretKey());
                 *  PageHelper.TransferToPage(UrlHelper.GetOperationUrl("LOGIN", districtId) + "?cd="
                 + Server.UrlEncode(encryption.Encrypt(string.Format(DateTime.Now + "|" + userNameTextBox.Text + "|" + encryption.Encrypt(userPasswordTextBox.Text.Trim())))));
                 + }
                 */
                UserSecurity.UpdateLastLoginDate(userId, DateTime.Now);
                //Cannot use Activity Logging because it relys on Session.
                //ActivityLogging.AddActivity(ActivityKey.Login);
                //ActivityLogging.UpdateActivity(true, "");
                break;

            case 1:
                //User does not exist
                context.SetError("invalid_grant", MessagesList.ERR_LOGIN_NOTREGISTER);
                return;

            case 2:
                //Password failed
                context.SetError("invalid_grant", MessagesList.ERR_LOGIN_PASSWORDFAILED);
                return;

            case 3:
                //Failed login attempts exceeded
                string error = string.Format(MessagesList.ERR_LOGIN_PASSWORDFAILEDATTEMPTSMORE, Setting.GetSettingValue(SettingMasterKey.AllowableFailedLoginAttempts, districtId), Setting.GetSettingValue(SettingMasterKey.AllowableReLoginDurationAfterexceedingTheAllowableFailedLoginAttempts, districtId));
                context.SetError("invalid_grant", error);
                return;

            case 4:
                //User disabled
                context.SetError("invalid_grant", MessagesList.ERR_LOGIN_PASSWORDDISABLED);
                return;

            case 5:
                //User registered but not activated
                context.SetError("invalid_grant", MessagesList.ERR_LOGIN_REGISTERNOTACTIVATED);
                return;
            }

            double?studentBalance = null;

            studentBalance = Student.GetStudentBalance((int)userId);
            //if (!ud.IsParent)
            //{
            //    context.SetError("invalid_grant", "Only parents are allowed to login");
            //    return;
            //}

            ClaimsIdentity oAuthIdentity   = new ClaimsIdentity(OAuthDefaults.AuthenticationType);
            ClaimsIdentity cookiesIdentity = new ClaimsIdentity(OAuthDefaults.AuthenticationType);

            if (ud.AccessId == 3 || ud.AccessId == 4)
            {
                oAuthIdentity.AddClaim(new Claim(ClaimTypes.Role, "Admin"));
            }
            else
            {
                oAuthIdentity.AddClaim(new Claim(ClaimTypes.Role, "User"));
            }

            Claim claim = new Claim("UserId", userId.ToString());

            oAuthIdentity.AddClaim(claim);
            cookiesIdentity.AddClaim(claim);

            if (districtId == null)
            {
                districtId = 0;
            }
            claim = new Claim("DistrictId", districtId.ToString());
            oAuthIdentity.AddClaim(claim);
            cookiesIdentity.AddClaim(claim);

            if (isd != null)
            {
                claim = new Claim("DistrictName", isd.DistrictName);
                oAuthIdentity.AddClaim(claim);
                cookiesIdentity.AddClaim(claim);
            }

            claim = new Claim("UserName", strUserName);
            oAuthIdentity.AddClaim(claim);
            cookiesIdentity.AddClaim(claim);

            claim = new Claim("AccessLevel", ud.AccessId.ToString());
            oAuthIdentity.AddClaim(claim);
            cookiesIdentity.AddClaim(claim);

            string cd          = privateEncrytion.Encrypt(DateTime.Now.ToString() + "|" + strUserName + "|" + encyptedPassword);
            string redirectURL = Setting.GetDefaultValue(22);
            string APPEB       = Setting.GetSettingValue(SettingMasterKey.EligibilityBenefitsForAPP, districtId.Value);
            string WEBAB       = Setting.GetSettingValue(SettingMasterKey.EligibilityBenefitsForWEB, districtId.Value);
            string showPic     = Setting.GetSettingValue(SettingMasterKey.ShowPicturesFromPrimeroEdge, districtId.Value);
            long   TimeStamp   = DateTime.UtcNow.Ticks;

            //Upon login, display a message to confirm email address for users that have not logged in recently i.e 90Days.
            double LoginDiffDays  = 0;
            bool   LoginDiffrence = false;

            if (context.Scope[0].ToLower() != "autologin")
            {
                if (ud.LastLoginDate.Value.ToShortDateString() == "1/1/1900")
                {
                    LoginDiffrence = false;
                }
                else
                {
                    LoginDiffDays = (DateTime.Now - ud.LastLoginDate.Value).TotalDays;
                }

                if (LoginDiffDays >= 90)
                {
                    LoginDiffrence = true;
                }
            }

            string encyptedTimeStamp = privateEncrytion.Encrypt(TimeStamp.ToString());

            AuthenticationProperties properties = CreateProperties(strUserName);

            properties.Dictionary.Add("FirstName", ud.ContactInformation.FirstName);
            properties.Dictionary.Add("DistrictName", isd == null ? "" : isd.DistrictName);
            properties.Dictionary.Add("Status", isd == null ? "" : isd.Status.ToString());
            properties.Dictionary.Add("AccessLevel", ud.AccessId.ToString());
            properties.Dictionary.Add("RedirectURL", redirectURL);
            properties.Dictionary.Add("StudentBalance", studentBalance.ToString());
            properties.Dictionary.Add("FaceBookSharing", SocialShare.FaceBookSharing.ToString());
            properties.Dictionary.Add("InstagramSharing", SocialShare.InstagramSharing.ToString());
            properties.Dictionary.Add("TwitterSharing", SocialShare.TwitterSharing.ToString());
            properties.Dictionary.Add("ISDId", districtId.ToString());
            properties.Dictionary.Add("APPEB", APPEB);
            properties.Dictionary.Add("WEBEB", WEBAB);
            properties.Dictionary.Add("OnlineAppsToken", encyptedTimeStamp);
            properties.Dictionary.Add("UserId", userId.ToString());
            properties.Dictionary.Add("LoginDiffrence", LoginDiffrence.ToString());
            properties.Dictionary.Add("Email", ud.ContactInformation.Email);
            properties.Dictionary.Add("Verified", ud.Verified?.ToString());
            properties.Dictionary.Add("ShowPicture", showPic);
            properties.Dictionary.Add("IsFirstTimeLogin", Convert.ToString(isFirstTimeLogin));
            properties.Dictionary.Add("UserIP", Helper.GetIP());
            properties.Dictionary.Add("UserTypeId", Convert.ToString(ud.UserTypeId));

            if (districtId != 0)
            {
                properties.Dictionary.Add("OnlineAppURL", Helper.GetOnlineAppUrl(districtId.Value));
            }

            //properties.Dictionary.Add("SocialShare", (new JavaScriptSerializer().Serialize(SocialShare)).Replace("\"", ""));
            AuthenticationTicket ticket = new AuthenticationTicket(oAuthIdentity, properties);

            context.Validated(ticket);
            context.Request.Context.Authentication.SignIn(cookiesIdentity);
        }
Пример #10
0
        #pragma warning disable 1998
        protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder)
        {
            __builder.OpenElement(0, "div");
            __builder.AddAttribute(1, "class", "row");
            __builder.AddMarkupContent(2, "\n");
#line 7 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Dashboard/Index.razor"
            foreach (var p in _pages)
            {
                if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.Permissions))
                {
                    string url = NavigateUrl(p.Path);

#line default
#line hidden
                    __builder.AddContent(3, "            ");
                    __builder.OpenElement(4, "div");
                    __builder.AddAttribute(5, "class", "col-md-2 mx-auto text-center");
                    __builder.AddMarkupContent(6, "\n                ");
                    __builder.OpenComponent <Microsoft.AspNetCore.Components.Routing.NavLink>(7);
                    __builder.AddAttribute(8, "class", "nav-link");
                    __builder.AddAttribute(9, "href",
#line 13 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Dashboard/Index.razor"
                                           url

#line default
#line hidden
                                           );
                    __builder.AddAttribute(10, "Match", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck <Microsoft.AspNetCore.Components.Routing.NavLinkMatch>(
#line 13 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Dashboard/Index.razor"
                                               NavLinkMatch.All

#line default
#line hidden
                                               ));
                    __builder.AddAttribute(11, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder2) => {
                        __builder2.AddMarkupContent(12, "\n                    ");
                        __builder2.OpenElement(13, "h2");
                        __builder2.OpenElement(14, "span");
                        __builder2.AddAttribute(15, "class", "oi" + " oi-" + (
#line 14 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Dashboard/Index.razor"
                                                    p.Icon

#line default
#line hidden
                                                    ));
                        __builder2.AddAttribute(16, "aria-hidden", "true");
                        __builder2.CloseElement();
                        __builder2.CloseElement();
                        __builder2.AddContent(17,
#line 14 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Dashboard/Index.razor"
                                              p.Name

#line default
#line hidden
                                              );
                        __builder2.AddMarkupContent(18, "\n                ");
                    }
                                                                                                                ));
                    __builder.CloseComponent();
                    __builder.AddMarkupContent(19, "\n            ");
                    __builder.CloseElement();
                    __builder.AddMarkupContent(20, "\n");
#line 17 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Dashboard/Index.razor"
                }
            }

#line default
#line hidden
            __builder.CloseElement();
        }
Пример #11
0
        #pragma warning disable 1998
        protected override void BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder)
        {
            __builder.OpenComponent <Oqtane.Modules.Controls.TabStrip>(0);
            __builder.AddAttribute(1, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder2) => {
                __builder2.AddMarkupContent(2, "\n    ");
                __builder2.OpenComponent <Oqtane.Modules.Controls.TabPanel>(3);
                __builder2.AddAttribute(4, "Name", "Settings");
                __builder2.AddAttribute(5, "Heading", "Module Settings");
                __builder2.AddAttribute(6, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder3) => {
                    __builder3.AddMarkupContent(7, "\n");
#line 10 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                    if (_containers != null)
                    {
#line default
#line hidden
                        __builder3.AddContent(8, "            ");
                        __builder3.OpenElement(9, "table");
                        __builder3.AddAttribute(10, "class", "table table-borderless");
                        __builder3.AddMarkupContent(11, "\n                ");
                        __builder3.OpenElement(12, "tr");
                        __builder3.AddMarkupContent(13, "\n                    ");
                        __builder3.OpenElement(14, "td");
                        __builder3.AddMarkupContent(15, "\n                        ");
                        __builder3.OpenComponent <Oqtane.Modules.Controls.Label>(16);
                        __builder3.AddAttribute(17, "For", "title");
                        __builder3.AddAttribute(18, "HelpText", "Enter the title of the module");
                        __builder3.AddAttribute(19, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder4) => {
                            __builder4.AddContent(20, "Title: ");
                        }
                                                                                                                     ));
                        __builder3.CloseComponent();
                        __builder3.AddMarkupContent(21, "\n                    ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(22, "\n                    ");
                        __builder3.OpenElement(23, "td");
                        __builder3.AddMarkupContent(24, "\n                        ");
                        __builder3.OpenElement(25, "input");
                        __builder3.AddAttribute(26, "id", "title");
                        __builder3.AddAttribute(27, "type", "text");
                        __builder3.AddAttribute(28, "name", "Title");
                        __builder3.AddAttribute(29, "class", "form-control");
                        __builder3.AddAttribute(30, "value", Microsoft.AspNetCore.Components.BindConverter.FormatValue(
#line 18 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                                    _title

#line default
#line hidden
                                                    ));
                        __builder3.AddAttribute(31, "onchange", Microsoft.AspNetCore.Components.EventCallback.Factory.CreateBinder(this, __value => _title = __value, _title));
                        __builder3.SetUpdatesAttributeName("value");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(32, "\n                    ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(33, "\n                ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(34, "\n                ");
                        __builder3.OpenElement(35, "tr");
                        __builder3.AddMarkupContent(36, "\n                    ");
                        __builder3.OpenElement(37, "td");
                        __builder3.AddMarkupContent(38, "\n                        ");
                        __builder3.OpenComponent <Oqtane.Modules.Controls.Label>(39);
                        __builder3.AddAttribute(40, "For", "container");
                        __builder3.AddAttribute(41, "HelpText", "Select the module\'s container");
                        __builder3.AddAttribute(42, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder4) => {
                            __builder4.AddContent(43, "Container: ");
                        }
                                                                                                                     ));
                        __builder3.CloseComponent();
                        __builder3.AddMarkupContent(44, "\n                    ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(45, "\n                    ");
                        __builder3.OpenElement(46, "td");
                        __builder3.AddMarkupContent(47, "\n                        ");
                        __builder3.OpenElement(48, "select");
                        __builder3.AddAttribute(49, "id", "container");
                        __builder3.AddAttribute(50, "class", "form-control");
                        __builder3.AddAttribute(51, "value", Microsoft.AspNetCore.Components.BindConverter.FormatValue(
#line 26 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                                    _containerType

#line default
#line hidden
                                                    ));
                        __builder3.AddAttribute(52, "onchange", Microsoft.AspNetCore.Components.EventCallback.Factory.CreateBinder(this, __value => _containerType = __value, _containerType));
                        __builder3.SetUpdatesAttributeName("value");
                        __builder3.AddMarkupContent(53, "\n                            ");
                        __builder3.OpenElement(54, "option");
                        __builder3.AddAttribute(55, "value", "-");
                        __builder3.AddContent(56, "<Inherit From Page Or Site>");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(57, "\n");
#line 28 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                        foreach (var container in _containers)
                        {
#line default
#line hidden
                            __builder3.AddContent(58, "                                ");
                            __builder3.OpenElement(59, "option");
                            __builder3.AddAttribute(60, "value",
#line 30 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                                    container.TypeName

#line default
#line hidden
                                                    );
                            __builder3.AddContent(61,
#line 30 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                                  container.Name

#line default
#line hidden
                                                  );
                            __builder3.CloseElement();
                            __builder3.AddMarkupContent(62, "\n");
#line 31 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                        }

#line default
#line hidden
                        __builder3.AddContent(63, "                        ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(64, "\n                    ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(65, "\n                ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(66, "\n                ");
                        __builder3.OpenElement(67, "tr");
                        __builder3.AddMarkupContent(68, "\n                    ");
                        __builder3.OpenElement(69, "td");
                        __builder3.AddMarkupContent(70, "\n                        ");
                        __builder3.OpenComponent <Oqtane.Modules.Controls.Label>(71);
                        __builder3.AddAttribute(72, "For", "allpages");
                        __builder3.AddAttribute(73, "HelpText", "Indicate if this module should be displayed on all pages");
                        __builder3.AddAttribute(74, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder4) => {
                            __builder4.AddContent(75, "Display On All Pages? ");
                        }
                                                                                                                     ));
                        __builder3.CloseComponent();
                        __builder3.AddMarkupContent(76, "\n                    ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(77, "\n                    ");
                        __builder3.OpenElement(78, "td");
                        __builder3.AddMarkupContent(79, "\n                        ");
                        __builder3.OpenElement(80, "select");
                        __builder3.AddAttribute(81, "id", "allpages");
                        __builder3.AddAttribute(82, "class", "form-control");
                        __builder3.AddAttribute(83, "value", Microsoft.AspNetCore.Components.BindConverter.FormatValue(
#line 40 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                                    _allPages

#line default
#line hidden
                                                    ));
                        __builder3.AddAttribute(84, "onchange", Microsoft.AspNetCore.Components.EventCallback.Factory.CreateBinder(this, __value => _allPages = __value, _allPages));
                        __builder3.SetUpdatesAttributeName("value");
                        __builder3.AddMarkupContent(85, "\n                            ");
                        __builder3.OpenElement(86, "option");
                        __builder3.AddAttribute(87, "value", "True");
                        __builder3.AddContent(88, "Yes");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(89, "\n                            ");
                        __builder3.OpenElement(90, "option");
                        __builder3.AddAttribute(91, "value", "False");
                        __builder3.AddContent(92, "No");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(93, "\n                        ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(94, "\n                    ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(95, "\n                ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(96, "\n                ");
                        __builder3.OpenElement(97, "tr");
                        __builder3.AddMarkupContent(98, "\n                    ");
                        __builder3.OpenElement(99, "td");
                        __builder3.AddMarkupContent(100, "\n                        ");
                        __builder3.OpenComponent <Oqtane.Modules.Controls.Label>(101);
                        __builder3.AddAttribute(102, "For", "page");
                        __builder3.AddAttribute(103, "HelpText", "The page that the module is on");
                        __builder3.AddAttribute(104, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder4) => {
                            __builder4.AddContent(105, "Page: ");
                        }
                                                                                                                      ));
                        __builder3.CloseComponent();
                        __builder3.AddMarkupContent(106, "\n                    ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(107, "\n                    ");
                        __builder3.OpenElement(108, "td");
                        __builder3.AddMarkupContent(109, "\n                        ");
                        __builder3.OpenElement(110, "select");
                        __builder3.AddAttribute(111, "id", "page");
                        __builder3.AddAttribute(112, "class", "form-control");
                        __builder3.AddAttribute(113, "value", Microsoft.AspNetCore.Components.BindConverter.FormatValue(
#line 51 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                                    _pageId

#line default
#line hidden
                                                    ));
                        __builder3.AddAttribute(114, "onchange", Microsoft.AspNetCore.Components.EventCallback.Factory.CreateBinder(this, __value => _pageId = __value, _pageId));
                        __builder3.SetUpdatesAttributeName("value");
                        __builder3.AddMarkupContent(115, "\n");
#line 52 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                        foreach (Page p in PageState.Pages)
                        {
                            if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.Permissions))
                            {
#line default
#line hidden
                                __builder3.AddContent(116, "                                    ");
                                __builder3.OpenElement(117, "option");
                                __builder3.AddAttribute(118, "value",
#line 56 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                                        p.PageId

#line default
#line hidden
                                                        );
                                __builder3.AddContent(119,
#line 56 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                                      new string('-', p.Level * 2)

#line default
#line hidden
                                                      );
                                __builder3.AddContent(120,
#line 56 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                                      p.Name

#line default
#line hidden
                                                      );
                                __builder3.CloseElement();
                                __builder3.AddMarkupContent(121, "\n");
#line 57 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                            }
                        }

#line default
#line hidden
                        __builder3.AddContent(122, "                        ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(123, "\n                    ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(124, "\n                ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(125, "\n            ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(126, "\n");
#line 63 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                    }

#line default
#line hidden
                    __builder3.AddContent(127, "    ");
                }
                                                                                                            ));
                __builder2.CloseComponent();
                __builder2.AddMarkupContent(128, "\n    ");
                __builder2.OpenComponent <Oqtane.Modules.Controls.TabPanel>(129);
                __builder2.AddAttribute(130, "Name", "Permissions");
                __builder2.AddAttribute(131, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder3) => {
                    __builder3.AddMarkupContent(132, "\n");
#line 66 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                    if (_permissions != null)
                    {
#line default
#line hidden
                        __builder3.AddContent(133, "            ");
                        __builder3.OpenElement(134, "table");
                        __builder3.AddAttribute(135, "class", "table table-borderless");
                        __builder3.AddMarkupContent(136, "\n                ");
                        __builder3.OpenElement(137, "tr");
                        __builder3.AddMarkupContent(138, "\n                    ");
                        __builder3.OpenElement(139, "td");
                        __builder3.AddMarkupContent(140, "\n                        ");
                        __builder3.OpenComponent <Oqtane.Modules.Controls.PermissionGrid>(141);
                        __builder3.AddAttribute(142, "EntityName", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck <System.String>(
#line 71 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                                    EntityNames.Module

#line default
#line hidden
                                                    ));
                        __builder3.AddAttribute(143, "PermissionNames", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck <System.String>(
#line 71 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                                    _permissionNames

#line default
#line hidden
                                                    ));
                        __builder3.AddAttribute(144, "Permissions", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck <System.String>(
#line 71 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                                    _permissions

#line default
#line hidden
                                                    ));
                        __builder3.AddComponentReferenceCapture(145, (__value) => {
#line 71 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                            _permissionGrid = (Oqtane.Modules.Controls.PermissionGrid)__value;

#line default
#line hidden
                        }
                                                                );
                        __builder3.CloseComponent();
                        __builder3.AddMarkupContent(146, "\n                    ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(147, "\n                ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(148, "\n            ");
                        __builder3.CloseElement();
                        __builder3.AddMarkupContent(149, "\n");
#line 75 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                    }

#line default
#line hidden
                    __builder3.AddContent(150, "    ");
                }
                                                                                                              ));
                __builder2.CloseComponent();
                __builder2.AddMarkupContent(151, "\n");
#line 77 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                if (_settingsModuleType != null)
                {
#line default
#line hidden
                    __builder2.AddContent(152, "        ");
                    __builder2.OpenComponent <Oqtane.Modules.Controls.TabPanel>(153);
                    __builder2.AddAttribute(154, "Name", "ModuleSettings");
                    __builder2.AddAttribute(155, "Heading", Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers.TypeCheck <System.String>(
#line 79 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                                _settingstitle

#line default
#line hidden
                                                ));
                    __builder2.AddAttribute(156, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder3) => {
                        __builder3.AddMarkupContent(157, "\n            ");
                        __builder3.AddContent(158,
#line 80 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                              DynamicComponent

#line default
#line hidden
                                              );
                        __builder3.AddMarkupContent(159, "\n        ");
                    }
                                                                                                                  ));
                    __builder2.CloseComponent();
                    __builder2.AddMarkupContent(160, "\n");
#line 82 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                }

#line default
#line hidden
            }
                                                                                                       ));
            __builder.CloseComponent();
            __builder.AddMarkupContent(161, "\n");
            __builder.OpenElement(162, "button");
            __builder.AddAttribute(163, "type", "button");
            __builder.AddAttribute(164, "class", "btn btn-success");
            __builder.AddAttribute(165, "onclick", Microsoft.AspNetCore.Components.EventCallback.Factory.Create <Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this,
#line 84 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                                                                                                                                                     SaveModule

#line default
#line hidden
                                                                                                                                                                     ));
            __builder.AddContent(166, "Save");
            __builder.CloseElement();
            __builder.AddMarkupContent(167, "\n");
            __builder.OpenComponent <Microsoft.AspNetCore.Components.Routing.NavLink>(168);
            __builder.AddAttribute(169, "class", "btn btn-secondary");
            __builder.AddAttribute(170, "href",
#line 85 "/Users/cam/Desktop/oqtane/oqtane-theme-test/Oqtane.Client/Modules/Admin/Modules/Settings.razor"
                                   NavigateUrl()

#line default
#line hidden
                                   );
            __builder.AddAttribute(171, "ChildContent", (Microsoft.AspNetCore.Components.RenderFragment)((__builder2) => {
                __builder2.AddContent(172, "Cancel");
            }
                                                                                                         ));
            __builder.CloseComponent();
        }
Пример #12
0
 public ViewResult Executive()
 {
     return(View(new ExecutiveScoreCardScreen(UserSecurity.EmployeeId, UserSecurity.OwnerText())));
 }
Пример #13
0
 public ViewResult Owner()
 {
     return(View(new OwnerScoreCardScreen(UserSecurity.EmployeeId, UserSecurity.OwnerText())));
 }
Пример #14
0
        public Page Post(int id, string userid)
        {
            Page page   = null;
            Page parent = _pages.GetPage(id);

            if (parent != null && parent.IsPersonalizable && _userPermissions.GetUser(User).UserId == int.Parse(userid))
            {
                page              = new Page();
                page.SiteId       = parent.SiteId;
                page.Name         = parent.Name;
                page.Path         = parent.Path;
                page.ParentId     = parent.PageId;
                page.Order        = 0;
                page.IsNavigation = false;
                page.EditMode     = false;
                page.ThemeType    = parent.ThemeType;
                page.LayoutType   = parent.LayoutType;
                page.Icon         = parent.Icon;
                List <PermissionString> permissions = new List <PermissionString>();
                permissions.Add(new PermissionString {
                    PermissionName = "View", Permissions = "[" + userid + "]"
                });
                permissions.Add(new PermissionString {
                    PermissionName = "Edit", Permissions = "[" + userid + "]"
                });
                page.Permissions      = UserSecurity.SetPermissionStrings(permissions);
                page.IsPersonalizable = false;
                page.UserId           = int.Parse(userid);
                page = _pages.AddPage(page);

                // copy modules
                List <PageModule> pagemodules = _pageModules.GetPageModules(page.SiteId).ToList();
                foreach (PageModule pm in pagemodules.Where(item => item.PageId == parent.PageId && !item.IsDeleted))
                {
                    Module module = new Module();
                    module.SiteId = page.SiteId;
                    module.PageId = page.PageId;
                    module.ModuleDefinitionName = pm.Module.ModuleDefinitionName;
                    permissions = new List <PermissionString>();
                    permissions.Add(new PermissionString {
                        PermissionName = "View", Permissions = "[" + userid + "]"
                    });
                    permissions.Add(new PermissionString {
                        PermissionName = "Edit", Permissions = "[" + userid + "]"
                    });
                    module.Permissions = UserSecurity.SetPermissionStrings(permissions);
                    module             = _modules.AddModule(module);

                    string content = _modules.ExportModule(pm.ModuleId);
                    if (content != "")
                    {
                        _modules.ImportModule(module.ModuleId, content);
                    }

                    PageModule pagemodule = new PageModule();
                    pagemodule.PageId        = page.PageId;
                    pagemodule.ModuleId      = module.ModuleId;
                    pagemodule.Title         = pm.Title;
                    pagemodule.Pane          = pm.Pane;
                    pagemodule.Order         = pm.Order;
                    pagemodule.ContainerType = pm.ContainerType;

                    _pageModules.AddPageModule(pagemodule);
                }
            }
            return(page);
        }
        private async Task Refresh()
        {
            Alias         alias = null;
            Site          site;
            List <Page>   pages;
            Page          page;
            User          user = null;
            List <Module> modules;
            var           moduleid      = -1;
            var           action        = string.Empty;
            var           urlparameters = string.Empty;
            var           editmode      = false;
            var           reload        = Reload.None;
            var           lastsyncdate  = DateTime.UtcNow;
            var           runtime       = GetRuntime();

            Uri uri = new Uri(_absoluteUri);

            // get path
            var path = uri.LocalPath.Substring(1);

            // parse querystring
            var querystring = ParseQueryString(uri.Query);

            // the reload parameter is used to reload the PageState
            if (querystring.ContainsKey("reload"))
            {
                reload = Reload.Site;
            }

            if (PageState != null)
            {
                editmode     = PageState.EditMode;
                lastsyncdate = PageState.LastSyncDate;
            }

            alias = await AliasService.GetAliasAsync(path, lastsyncdate);

            SiteState.Alias = alias; // set state for services
            lastsyncdate    = alias.SyncDate;

            // process any sync events for site or page
            if (reload != Reload.Site && alias.SyncEvents.Any())
            {
                if (PageState != null && alias.SyncEvents.Exists(item => item.EntityName == EntityNames.Page && item.EntityId == PageState.Page.PageId))
                {
                    reload = Reload.Page;
                }
                if (alias.SyncEvents.Exists(item => item.EntityName == EntityNames.Site && item.EntityId == alias.SiteId))
                {
                    reload = Reload.Site;
                }
            }

            if (reload == Reload.Site || PageState == null || alias.SiteId != PageState.Alias.SiteId)
            {
                site = await SiteService.GetSiteAsync(alias.SiteId);

                reload = Reload.Site;
            }
            else
            {
                site = PageState.Site;
            }

            if (site != null)
            {
                if (PageState == null || reload == Reload.Site)
                {
                    // get user
                    var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();

                    if (authState.User.Identity.IsAuthenticated)
                    {
                        user = await UserService.GetUserAsync(authState.User.Identity.Name, site.SiteId);
                    }
                }
                else
                {
                    user = PageState.User;
                }

                // process any sync events for user
                if (reload != Reload.Site && user != null && alias.SyncEvents.Any())
                {
                    if (alias.SyncEvents.Exists(item => item.EntityName == EntityNames.User && item.EntityId == user.UserId))
                    {
                        reload = Reload.Site;
                    }
                }

                if (PageState == null || reload >= Reload.Site)
                {
                    pages = await PageService.GetPagesAsync(site.SiteId);
                }
                else
                {
                    pages = PageState.Pages;
                }

                // format path and remove alias
                path = path.Replace("//", "/");

                if (!path.EndsWith("/"))
                {
                    path += "/";
                }

                if (alias.Path != "")
                {
                    path = path.Substring(alias.Path.Length + 1);
                }

                // extract admin route elements from path
                var segments = path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
                int result;

                int modIdPos         = 0;
                int actionPos        = 0;
                int urlParametersPos = 0;

                for (int i = 0; i < segments.Length; i++)
                {
                    if (segments[i] == Constants.UrlParametersDelimiter)
                    {
                        urlParametersPos = i + 1;
                    }

                    if (i >= urlParametersPos && urlParametersPos != 0)
                    {
                        urlparameters += "/" + segments[i];
                    }

                    if (segments[i] == Constants.ModuleDelimiter)
                    {
                        modIdPos  = i + 1;
                        actionPos = modIdPos + 1;
                        if (actionPos > segments.Length - 1)
                        {
                            action = Constants.DefaultAction;
                        }
                        else
                        {
                            action = segments[actionPos];
                        }
                    }
                }

                // check if path has moduleid and action specification ie. pagename/moduleid/action/
                if (modIdPos > 0)
                {
                    int.TryParse(segments[modIdPos], out result);
                    moduleid = result;
                    if (actionPos > segments.Length - 1)
                    {
                        path = path.Replace(segments[modIdPos - 1] + "/" + segments[modIdPos] + "/", "");
                    }
                    else
                    {
                        path = path.Replace(segments[modIdPos - 1] + "/" + segments[modIdPos] + "/" + segments[actionPos] + "/", "");
                    }
                }

                if (urlParametersPos > 0)
                {
                    path = path.Replace(segments[urlParametersPos - 1] + urlparameters + "/", "");
                }

                // remove trailing slash so it can be used as a key for Pages
                if (path.EndsWith("/"))
                {
                    path = path.Substring(0, path.Length - 1);
                }

                if (PageState == null || reload >= Reload.Page)
                {
                    page = pages.Where(item => item.Path == path).FirstOrDefault();
                }
                else
                {
                    page = PageState.Page;
                }

                // failsafe in case router cannot locate the home page for the site
                if (page == null && path == "")
                {
                    page = pages.FirstOrDefault();
                    path = page.Path;
                }

                // check if page has changed
                if (page != null && page.Path != path)
                {
                    page     = pages.Where(item => item.Path == path).FirstOrDefault();
                    reload   = Reload.Page;
                    editmode = false;
                }

                if (page != null)
                {
                    if (PageState == null)
                    {
                        editmode = false;
                    }

                    // check if user is authorized to view page
                    if (UserSecurity.IsAuthorized(user, PermissionNames.View, page.Permissions))
                    {
                        page = await ProcessPage(page, site, user);

                        if (PageState != null && (PageState.ModuleId != moduleid || PageState.Action != action))
                        {
                            reload = Reload.Page;
                        }

                        if (PageState == null || reload >= Reload.Page)
                        {
                            modules = await ModuleService.GetModulesAsync(site.SiteId);

                            (page, modules) = ProcessModules(page, modules, moduleid, action, (!string.IsNullOrEmpty(page.DefaultContainerType)) ? page.DefaultContainerType : site.DefaultContainerType);
                        }
                        else
                        {
                            modules = PageState.Modules;
                        }

                        _pagestate = new PageState
                        {
                            Alias         = alias,
                            Site          = site,
                            Pages         = pages,
                            Page          = page,
                            User          = user,
                            Modules       = modules,
                            Uri           = new Uri(_absoluteUri, UriKind.Absolute),
                            QueryString   = querystring,
                            UrlParameters = urlparameters,
                            ModuleId      = moduleid,
                            Action        = action,
                            EditMode      = editmode,
                            LastSyncDate  = lastsyncdate,
                            Runtime       = runtime
                        };

                        OnStateChange?.Invoke(_pagestate);
                    }
                }
                else
                {
                    if (user == null)
                    {
                        // redirect to login page
                        NavigationManager.NavigateTo(Utilities.NavigateUrl(alias.Path, "login", "returnurl=" + path));
                    }
                    else
                    {
                        await LogService.Log(null, null, user.UserId, GetType().AssemblyQualifiedName, Utilities.GetTypeNameLastSegment(GetType().AssemblyQualifiedName, 1), LogFunction.Security, LogLevel.Error, null, "Page Does Not Exist Or User Is Not Authorized To View Page {Path}", path);

                        if (path != "")
                        {
                            // redirect to home page
                            NavigationManager.NavigateTo(Utilities.NavigateUrl(alias.Path, "", ""));
                        }
                    }
                }
            }
            else
            {
                // site does not exist
            }
        }
Пример #16
0
        public void Add_Throws_User_Is_Already_Registered()
        {
            var registerUserRequest = new RegisterUserRequest {
                Email    = "*****@*****.**",
                Password = "******"
            };

            var userService = AddUserRequestValidatorMock.Create();

            userService.UserSecurityRepositoryMock.Setup(us => us.GetByEmail(registerUserRequest.Email)).Returns(UserSecurity.CreateBasic(Guid.Empty, string.Empty, string.Empty));
            var exception = Assert.Throws <DenialException>(() => userService.DataValidate(registerUserRequest, ActionType.Add));

            Assert.AreEqual(exception.Message, "UserIsAlreadyRegistered");
            Assert.AreEqual(exception.StatusCode, HttpStatusCode.BadRequest);
        }
Пример #17
0
 public FormUserLogin()
 {
     InitializeComponent();
     esha = new EncodeSHA();
     user = new UserSecurity();
 }
Пример #18
0
        public async Task <string> LoginAsync(AuthRequest request)
        {
            var pairs = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("client_id", request.clientId),
                new KeyValuePair <string, string>("redirect_uri", request.redirectUri),
                new KeyValuePair <string, string>("client_secret", clientSecret),
                new KeyValuePair <string, string>("code", request.code),
                new KeyValuePair <string, string>("grant_type", "authorization_code"),
                new KeyValuePair <string, string>("access_type", "offline")
            };

            HttpRequestMessage tokenRequest = new HttpRequestMessage(HttpMethod.Post, new Uri("https://www.googleapis.com/oauth2/v4/token"));

            tokenRequest.Content = new FormUrlEncodedContent(pairs);
            tokenRequest.Content.Headers.TryAddWithoutValidation("ContentType ", "application/x-www-form-urlencoded");

            var tokenResult = await httpClient.SendAsync(tokenRequest);

            if (!tokenResult.IsSuccessStatusCode)
            {
                throw AuthenticationException.InvalidCredential;
            }

            var tokenResponse = await tokenResult.Content.ReadAsAsync <GoogleAccesTokenResponse>();

            HttpRequestMessage openIdRequest = new HttpRequestMessage(HttpMethod.Get, new Uri("https://www.googleapis.com/plus/v1/people/me/openIdConnect"));

            openIdRequest.Headers.Authorization = new AuthenticationHeaderValue(tokenResponse.token_type, tokenResponse.access_token);

            var openIdResult = await httpClient.SendAsync(openIdRequest);

            if (!openIdResult.IsSuccessStatusCode)
            {
                throw AuthenticationException.InvalidCredential;
            }

            var googleUser = await openIdResult.Content.ReadAsAsync <GoogleMeResponse>();

            var dbUser = userSecurityRepository.GetByEmail(googleUser.email);

            if (dbUser == null)
            {
                var userRole = roleRepository.GetByName("User");

                var userSecurity = new UserSecurity(
                    Guid.Empty,
                    googleUser.email,
                    AuthProvider.Google,
                    tokenResponse.access_token,
                    tokenResponse.refresh_token,
                    Guid.NewGuid().ToString(),
                    null,
                    null,
                    googleUser.locale == "tr" ? "tr" : "en", // TODO: check language correctly
                    googleUser.given_name,
                    googleUser.family_name,
                    googleUser.picture,
                    googleUser.gender == "male" ? Gender.Male : Gender.Female,
                    false,
                    true,
                    new List <Role> {
                    userRole
                }
                    );

                userSecurity.CreateToken(abiokaToken, tokenResponse.access_token);

                userSecurityRepository.Add(userSecurity);

                return(userSecurity.Token);
            }

            if (dbUser.AuthProvider != AuthProvider.Google)
            {
                throw new DenialException($"UserIsRegisteredFor{dbUser.AuthProvider}", dbUser.Email);
            }

            dbUser.UpdateProviderRefreshToken(tokenResponse.refresh_token ?? tokenResponse.access_token);
            dbUser.CreateToken(abiokaToken, tokenResponse.access_token);
            userSecurityRepository.Update(dbUser);
            return(dbUser.Token);
        }
Пример #19
0
        private void NestingDetailViewer_Load(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();

            ds = GetDs();
            if (UserSecurity.HavingPrivilege(User.cur_user, "SPOOLWAREHOUSEUSERS"))
            {
                NestingPipeRpt pmrpt = new NestingPipeRpt();
                pmrpt.SetDataSource(ds);
                NestingDetailViewer.ReportSource = pmrpt;
            }

            ParameterFields paramFields = new ParameterFields();

            ParameterField         paramField1 = new ParameterField();
            ParameterDiscreteValue discreteVal = new ParameterDiscreteValue();

            paramField1.ParameterFieldName = "kickoffdate";
            discreteVal.Value = User.KickOffDate;
            paramField1.CurrentValues.Add(discreteVal);
            paramFields.Add(paramField1);

            ParameterField         paramField2 = new ParameterField();
            ParameterDiscreteValue discreteVa2 = new ParameterDiscreteValue();

            paramField2.ParameterFieldName = "Margin";
            discreteVa2.Value = User.Margin;
            paramField2.CurrentValues.Add(discreteVa2);
            paramFields.Add(paramField2);

            ParameterField         paramField3  = new ParameterField();
            ParameterDiscreteValue discreteVal3 = new ParameterDiscreteValue();

            paramField3.ParameterFieldName = "TotalBaseLength";
            discreteVal3.Value             = User.TotalBaseLength;
            paramField3.CurrentValues.Add(discreteVal3);
            paramFields.Add(paramField3);

            ParameterField         paramField4  = new ParameterField();
            ParameterDiscreteValue discreteVal4 = new ParameterDiscreteValue();

            paramField4.ParameterFieldName = "PipeRatio";
            discreteVal4.Value             = User.PipeRatio;
            paramField4.CurrentValues.Add(discreteVal4);
            paramFields.Add(paramField4);

            ParameterField         paramField5  = new ParameterField();
            ParameterDiscreteValue discreteVal5 = new ParameterDiscreteValue();

            paramField5.ParameterFieldName = "kickoffdateStart";
            discreteVal5.Value             = User.KickOffDate_start;
            paramField5.CurrentValues.Add(discreteVal5);
            paramFields.Add(paramField5);

            ParameterField         paramField6  = new ParameterField();
            ParameterDiscreteValue discreteVal6 = new ParameterDiscreteValue();

            paramField6.ParameterFieldName = "kickoffdateEnd";
            discreteVal6.Value             = User.KickOffDate_end;
            paramField6.CurrentValues.Add(discreteVal6);
            paramFields.Add(paramField6);

            NestingDetailViewer.ParameterFieldInfo = paramFields;
        }
Пример #20
0
 public FormChgPwd()
 {
     InitializeComponent();
     usec = new UserSecurity();
     es   = new EncodeSHA();
 }
Пример #21
0
 public bool Authen(string username, string password)
 {
     return(UserSecurity.Login(username, password));
 }
Пример #22
0
        protected override void OnParametersSet()
        {
            if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions) && Name != Constants.AdminPane)
            {
                _paneadminborder = "app-pane-admin-border";
                _panetitle       = "<div class=\"app-pane-admin-title\">" + Name + " Pane</div>";
            }
            else
            {
                _paneadminborder = "container";
                _panetitle       = "";
            }

            DynamicComponent = builder =>
            {
                if (PageState.ModuleId != -1 && PageState.Action != Constants.DefaultAction)
                {
                    if (Name.ToLower() == Constants.AdminPane.ToLower())
                    {
                        Module module = PageState.Modules.FirstOrDefault(item => item.ModuleId == PageState.ModuleId);
                        if (module != null && !module.IsDeleted)
                        {
                            var typename = module.ModuleType;
                            // check for core module actions component
                            if (Constants.DefaultModuleActions.Contains(PageState.Action))
                            {
                                typename = Constants.DefaultModuleActionsTemplate.Replace(Constants.ActionToken, PageState.Action);
                            }

                            var moduleType = Type.GetType(typename);
                            if (moduleType != null)
                            {
                                bool authorized = false;
                                if (Constants.DefaultModuleActions.Contains(PageState.Action))
                                {
                                    authorized = UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions);
                                }
                                else
                                {
                                    switch (module.SecurityAccessLevel)
                                    {
                                    case SecurityAccessLevel.Anonymous:
                                        authorized = true;
                                        break;

                                    case SecurityAccessLevel.View:
                                        authorized = UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.Permissions);
                                        break;

                                    case SecurityAccessLevel.Edit:
                                        authorized = UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, module.Permissions);
                                        break;

                                    case SecurityAccessLevel.Admin:
                                        authorized = UserSecurity.IsAuthorized(PageState.User, Constants.AdminRole);
                                        break;

                                    case SecurityAccessLevel.Host:
                                        authorized = UserSecurity.IsAuthorized(PageState.User, Constants.HostRole);
                                        break;
                                    }
                                }

                                if (authorized)
                                {
                                    if (!Constants.DefaultModuleActions.Contains(PageState.Action) && module.ControlTitle != "")
                                    {
                                        module.Title = module.ControlTitle;
                                    }
                                    CreateComponent(builder, module);
                                }
                            }
                            else
                            {
                                // module control does not exist with name specified
                            }
                        }
                    }
                }
                else
                {
                    if (PageState.ModuleId != -1)
                    {
                        Module module = PageState.Modules.FirstOrDefault(item => item.ModuleId == PageState.ModuleId);
                        if (module != null && module.Pane.ToLower() == Name.ToLower() && !module.IsDeleted)
                        {
                            // check if user is authorized to view module
                            if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.Permissions))
                            {
                                CreateComponent(builder, module);
                            }
                        }
                    }
                    else
                    {
                        foreach (Module module in PageState.Modules.Where(item => item.PageId == PageState.Page.PageId && item.Pane.ToLower() == Name.ToLower() && !item.IsDeleted).OrderBy(x => x.Order).ToArray())
                        {
                            // check if user is authorized to view module
                            if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.Permissions))
                            {
                                CreateComponent(builder, module);
                            }
                        }
                    }
                }
            };
        }
 public string GetPermissions()
 {
     ValidatePermissions();
     return(UserSecurity.SetPermissionStrings(_permissions));
 }
Пример #24
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.Cookies["user"] == null)
            {
                Response.Redirect("~/Default.aspx");
            }
            else
            {
                if (!new UserSecurity().CheckFormPermission((int)Global.formSecurity.AddRole, Request.Cookies["user"]["Permission"].ToString()))
                {
                    Response.Redirect("~/Settings/UnAuthorized.aspx");
                }
            }
            if (!IsPostBack)
            {
                //load all forms
                UserSecurity us = new UserSecurity();
                DataTable    dt = us.getAllForms(1);
                chkPermissionFin.DataSource     = dt;
                chkPermissionFin.DataValueField = "ID";
                chkPermissionFin.DataTextField  = "FormName";
                chkPermissionFin.DataBind();
                DataTable dt2 = us.getAllForms(2);
                chkPermissionHR.DataSource     = dt2;
                chkPermissionHR.DataValueField = "ID";
                chkPermissionHR.DataTextField  = "FormName";
                chkPermissionHR.DataBind();
                DataTable dt3 = us.getAllForms(3);
                chkPermissionST.DataSource     = dt3;
                chkPermissionST.DataValueField = "ID";
                chkPermissionST.DataTextField  = "FormName";
                chkPermissionST.DataBind();
                DataTable dt4 = us.getAllForms(4);
                chkPermissionSettings.DataSource     = dt4;
                chkPermissionSettings.DataValueField = "ID";
                chkPermissionSettings.DataTextField  = "FormName";
                chkPermissionSettings.DataBind();
                if (Request.QueryString.AllKeys.Contains("ID"))
                {
                    if (Convert.ToInt32(Request.QueryString["ID"].ToString()) > 0)
                    {
                        //UserSecurity us =new UserSecurity();
                        us.getRole(int.Parse(Request.QueryString["ID"].ToString()));
                        txtRoleName.Text = us.RoleName;
                        ddlDefault.Text  = us.DefaultURL;
                        ListItem li;
                        string[] per = us.RolePermission.Split(',');
                        for (int i = 0; i < per.Length; i++)
                        {
                            li = chkPermissionFin.Items.FindByValue(per[i].ToString());
                            if (li != null)
                            {
                                li.Selected = true;
                            }
                            li = chkPermissionHR.Items.FindByValue(per[i].ToString());
                            if (li != null)
                            {
                                li.Selected = true;
                            }
                            li = chkPermissionST.Items.FindByValue(per[i].ToString());
                            if (li != null)
                            {
                                li.Selected = true;
                            }
                            li = chkPermissionSettings.Items.FindByValue(per[i].ToString());
                            if (li != null)
                            {
                                li.Selected = true;
                            }
                        }
                    }
                }

                /* chkPermission.DataSource = dt;
                 * chkPermission.DataValueField = "ID";
                 * chkPermission.DataTextField = "FormName";
                 * chkPermission.DataBind();*/
            }
        }
Пример #25
0
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity <User>()
            .ToTable("Users")
            .HasKey(u => u.Id);

            modelBuilder.Entity <User>()
            .OwnsOne(u => u.Email,
                     email => { email.Property(prop => prop.Address).HasColumnName("Email"); }
                     );

            modelBuilder.Entity <User>()
            .OwnsOne(u => u.SecurePassword,
                     securePass =>
            {
                securePass.Property(prop => prop.PasswordHash).HasColumnName("PassWord");
                securePass.Property(prop => prop.Salt).HasColumnName("SecPass");
            });

            modelBuilder.Entity <User>(u =>
            {
                var userId = Guid.NewGuid();
                u.HasData(new
                {
                    Id        = userId,
                    FirstName = "test",
                    LastName  = "user",
                    RoleId    = 1,
                });
                u.OwnsOne(m => m.Email).HasData(new
                {
                    UserId  = userId,
                    Address = "*****@*****.**"
                });
                var temp = new UserSecurity("r5iPEDa9yVsW9s1Jr7j3fEpepSjT+oLu+4gUG6o7sMI=", "nhSRFAcAR6lgnY40PZi4iw==");
                u.OwnsOne(us => us.SecurePassword).HasData(new
                {
                    UserId       = userId,
                    PassWordHash = "r5iPEDa9yVsW9s1Jr7j3fEpepSjT+oLu+4gUG6o7sMI=",
                    Salt         = "nhSRFAcAR6lgnY40PZi4iw=="
                });
            });

            modelBuilder.Entity <Candidate>()
            .ToTable("Candidates")
            .HasKey(c => c.Id);

            modelBuilder.Entity <Candidate>()
            .OwnsOne(c => c.Email,
                     email => { email.Property(prop => prop.Address).HasColumnName("Email"); }
                     );

            modelBuilder.Entity <Campaign>()
            .ToTable("Campaign")
            .HasKey(key => key.CampaignId);

            modelBuilder.Entity <Campaign>()
            .Ignore(prop => prop.Status)
            .HasData(
                Campaign.CreateNewCampaign("asp.net", "CM", new DateTime(2019, 01, 01), new DateTime(2019, 05, 30)),
                Campaign.CreateNewCampaign("java", "Cegeka", new DateTime(2019, 01, 01), new DateTime(2019, 05, 30)),
                Campaign.CreateNewCampaign("asp.net", "OZ", new DateTime(2019, 01, 01), new DateTime(2019, 05, 30))
                );

            modelBuilder.Entity <JobApplication>()
            .ToTable("JobApplication")
            .HasKey(jp => jp.Id);

            modelBuilder.Entity <JobApplication>()
            .HasOne(jp => jp.Candidate)
            .WithMany()
            .HasForeignKey(jp => jp.CandidateId)
            .OnDelete(DeleteBehavior.Restrict);

            modelBuilder.Entity <JobApplication>()
            .HasOne(jp => jp.Campaign)
            .WithMany()
            .HasForeignKey(jp => jp.CampaignId)
            .OnDelete(DeleteBehavior.Restrict);

            modelBuilder.Entity <JobApplication>()
            .HasOne(jp => jp.Status)
            .WithMany()
            .HasForeignKey(jp => jp.StatusId)
            .OnDelete(DeleteBehavior.Restrict);

            modelBuilder.Entity <JobApplication>()
            .HasOne(jp => jp.CV)
            .WithMany()
            .HasForeignKey(jp => jp.CvId)
            .OnDelete(DeleteBehavior.Restrict);

            modelBuilder.Entity <JobApplication>()
            .HasOne(jp => jp.Motivation)
            .WithMany()
            .HasForeignKey(jp => jp.MotivationId)
            .OnDelete(DeleteBehavior.Restrict);

            modelBuilder.Entity <File>()
            .ToTable("Files")
            .HasKey(fu => fu.Id);

            modelBuilder.Entity <Status>()
            .HasData(
                new Status(1, "Inactive"),
                new Status(2, "Active"),
                new Status(3, "Rejected"),
                new Status(4, "Accepted")
                );

            modelBuilder.Entity <Screening>()
            .ToTable("Screening")
            .HasKey(screeningKey => new
            {
                screeningKey.JobApplicationId,
                screeningKey.Name
            });

            modelBuilder.Entity <Screening>()
            .HasDiscriminator <string>("screeningType");

            modelBuilder.Entity <CV_Screening>();
            modelBuilder.Entity <FinalDecision_Screening>();
            modelBuilder.Entity <FirstInterview_Screening>();
            modelBuilder.Entity <GroupInterview_Screening>();
            modelBuilder.Entity <Phone_Screening>();
            modelBuilder.Entity <TestResults_Screening>();

            modelBuilder.Entity <Screening>()
            .HasOne(scr => scr.JobApplication)
            .WithMany(jp => jp.Screening)
            .HasForeignKey(j => j.JobApplicationId);

            base.OnModelCreating(modelBuilder);
        }
Пример #26
0
        protected override async Task ActionAsync()
        {
            await UserSecurity.CheckIsSuperAdministratorAsync(_userService, Input.UserId);

            Result.Data = await _logService.GetLogs(Input.Data);
        }
        private void CreateUser(string email, string name, string password, bool isApproved, bool isLockedOut, bool createRoles)
        {
            var dataSource = DependencyInjector.Get<IMembershipDataSource>();
            var securityService = DependencyInjector.Get<ISecurityManager>();
            var mainGroupId = dataSource.Query<Group>().Where(g => g.Name.ToLower() == Resources.DefaultValues.MainGroupName.ToLower()).Select(a => a.Id).FirstOrDefault();

            var user = new User(Guid.NewGuid(), email, name);
            user.PreferredCulture = StrixPlatform.DefaultCultureCode;
            var userSecurity = new UserSecurity(user.Id);
            userSecurity.Password = securityService.EncodePassword(password);
            userSecurity.Approved = isApproved;
            userSecurity.LockedOut = isLockedOut;
            dataSource.Save(userSecurity);
            var userSession = new UserSessionStorage(user.Id);
            dataSource.Save(userSession);
            dataSource.Save(user);

            if (createRoles)
            {
                var adminRole = dataSource.Query<GroupInRole>().First(g => g.Role.Name == PlatformConstants.ADMINROLE);
                var userInRole = new UserInRole(adminRole, user.Id);
                dataSource.Save(userInRole);
            }

            dataSource.SaveChanges();
        }
        protected virtual List <ActionViewModel> GetActions()
        {
            var actionList = new List <ActionViewModel>();

            if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, ModuleState.Permissions))
            {
                actionList.Add(new ActionViewModel {
                    Icon = Icons.Cog, Name = "Manage Settings", Action = async(u, m) => await Settings(u, m)
                });

                if (UserSecurity.GetPermissionStrings(ModuleState.Permissions).FirstOrDefault(item => item.PermissionName == PermissionNames.View).Permissions.Split(';').Contains(RoleNames.Everyone))
                {
                    actionList.Add(new ActionViewModel {
                        Icon = Icons.CircleX, Name = "Unpublish Module", Action = async(s, m) => await Unpublish(s, m)
                    });
                }
                else
                {
                    actionList.Add(new ActionViewModel {
                        Icon = Icons.CircleCheck, Name = "Publish Module", Action = async(s, m) => await Publish(s, m)
                    });
                }
                actionList.Add(new ActionViewModel {
                    Icon = Icons.Trash, Name = "Delete Module", Action = async(u, m) => await DeleteModule(u, m)
                });

                if (ModuleState.ModuleDefinition != null && ModuleState.ModuleDefinition.ServerManagerType != "")
                {
                    actionList.Add(new ActionViewModel {
                        Name = ""
                    });
                    actionList.Add(new ActionViewModel {
                        Icon = Icons.CloudUpload, Name = "Import Content", Action = async(u, m) => await EditUrlAsync(u, m.ModuleId, "Import")
                    });
                    actionList.Add(new ActionViewModel {
                        Icon = Icons.CloudDownload, Name = "Export Content", Action = async(u, m) => await EditUrlAsync(u, m.ModuleId, "Export")
                    });
                }

                actionList.Add(new ActionViewModel {
                    Name = ""
                });

                if (ModuleState.PaneModuleIndex > 0)
                {
                    actionList.Add(new ActionViewModel {
                        Icon = Icons.DataTransferUpload, Name = "Move To Top", Action = async(s, m) => await MoveTop(s, m)
                    });
                }

                if (ModuleState.PaneModuleIndex > 0)
                {
                    actionList.Add(new ActionViewModel {
                        Icon = Icons.ArrowThickTop, Name = "Move Up", Action = async(s, m) => await MoveUp(s, m)
                    });
                }

                if (ModuleState.PaneModuleIndex < (ModuleState.PaneModuleCount - 1))
                {
                    actionList.Add(new ActionViewModel {
                        Icon = Icons.ArrowThickBottom, Name = "Move Down", Action = async(s, m) => await MoveDown(s, m)
                    });
                }

                if (ModuleState.PaneModuleIndex < (ModuleState.PaneModuleCount - 1))
                {
                    actionList.Add(new ActionViewModel {
                        Icon = Icons.DataTransferDownload, Name = "Move To Bottom", Action = async(s, m) => await MoveBottom(s, m)
                    });
                }

                foreach (string pane in PageState.Page.Panes)
                {
                    if (pane != ModuleState.Pane)
                    {
                        actionList.Add(new ActionViewModel {
                            Icon = Icons.AccountLogin, Name = pane + " Pane", Action = async(s, m) => await MoveToPane(s, pane, m)
                        });
                    }
                }
            }

            return(actionList);
        }
Пример #29
0
        public void NotComputeHashPassword()
        {
            var userSecurity = UserSecurity.CreateBasic(Guid.NewGuid(), "*****@*****.**", "1234");

            Assert.AreEqual("1234", userSecurity.Password);
        }