Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            // Controller objects
            automation = new Automation();
            navigation = new Navigation();
            htmlDoc    = new HTMLDoc();
            dataGrid   = new Controller.DataGrid();
            webMiner   = new WebMiner();
            rnd        = new Random();

            // Layered prediction
            statisticalPrediction = new StatisticalPrediction();
            uIComponent           = new UIContexter();
            userRule = new UserRule();

            // Model Objects
            browserData = new BrowserData();
            dBAccess    = new SQLiteAccess();
            formData    = new FormData();

            // View objects
            //browserView = new BrowserView();

            Application.Run(formNavi = new FormNavi());
        }
Ejemplo n.º 2
0
        protected List <sys_authorizegrouppower> GetAuthorizeGroupCotePower(string AuthorizeGroupID, string moduleID)
        {
            string   format = " SELECT *  FROM  sys_authorizegrouppower  WHERE AuthorizeGroupID='{0}'  AND CoteModuleID='{1}'";
            UserRule rule   = new UserRule();

            return(rule.CurrentEntities.ExecuteStoreQuery <sys_authorizegrouppower>(string.Format(format, AuthorizeGroupID, moduleID), new object[0]).ToList <sys_authorizegrouppower>());
        }
Ejemplo n.º 3
0
    public void SaveInfo()
    {
        UserRule objUser = new UserRule();

        objUser.ReSetPassword(UserID, txtPassword.Text);
        MessageDialog("修改成功", "../../ServiceLayer/User/SuperUserList.aspx");
    }
        public void TestThatUserRuleParsingSuccessChoose()
        {
            // Arrange

            var ruleName = "example0Rul1";
            var stream   = new MemoryStream().FromString(ruleName);


            var rule1   = new UserRule(ruleName, "", new TokenExpression("", new Dictionary <string, int>()));
            var rule2   = new UserRule(new string(ruleName.ToCharArray().Reverse().ToArray()), "", new TokenExpression("", new Dictionary <string, int>()));
            var context = new DefaultParserContext(stream);

            context.ParsedRules.Push(rule1);
            context.ParsedRules.Push(rule2);
            var ruleParser = new RuleCallParser();

            // Act

            var parsed = ruleParser.Parse(context);

            // Assert

            Assert.IsNotNull(parsed);
            Assert.AreSame(parsed, rule1);
        }
Ejemplo n.º 5
0
        protected List <Sys_RolePower> GetUserCoteRolePower(string userID, string moduleID)
        {
            string   format = " SELECT  Sys_RolePower.*\r\n                              FROM  Sys_RoleUser \r\n                             ,   Sys_RolePower WHERE Sys_RoleUser.UserID='{0}'   \r\n                             AND Sys_RolePower.CoteModuleID='{1}' and Sys_RoleUser.RoleID=Sys_RolePower.RoleID";
            UserRule rule   = new UserRule();

            return(rule.CurrentEntities.ExecuteStoreQuery <Sys_RolePower>(string.Format(format, userID, moduleID), new object[0]).ToList <Sys_RolePower>());
        }
        public void TestThatUserRuleParsingSuccesAndStreamPositionSuccess()
        {
            // Arrange

            var ruleName = "example0Rul1";
            var stream   = new MemoryStream().FromString(ruleName + "\'");


            var rule    = new UserRule(ruleName, "", new TokenExpression("", new Dictionary <string, int>()));
            var context = new DefaultParserContext(stream);

            context.ParsedRules.Push(rule);
            var ruleParser = new RuleCallParser();

            // Act

            var startPos = stream.Position;

            var parsed = ruleParser.Parse(context);

            var endPos = stream.Position;

            // Assert

            Assert.AreEqual(endPos, ruleName.Length + startPos);
        }
Ejemplo n.º 7
0
    public override void RenderPage()
    {
        try
        {
            UserRule objUserRule = new UserRule();

            List <string> ModuleTypeIDList = objUserRule.GetUserModuleTypeID(UserID);
            if (ModuleTypeIDList.Count() == 0)
            {
                MessageDialog("没有此用户类型绑定的模块类型", "SuperUserList.aspx");
                return;
            }
            else if (ModuleTypeIDList.Count() > 1)
            {
                MessageDialog("此用户有多个模块类型绑定请到具体授权组授权查看", "SuperUserList.aspx");
                return;
            }
            XmlDataSource.Data = objPowerRule.GetPowerTreexXmlText(ModuleTypeIDList.FirstOrDefault(), CurrentUser.IsSuper);
            if (UserID.IsNoNull())
            {
                // 取得角色权限
                tvwPower.SetSelectValue(objUserRule.GetUserAllKeyPower(UserID), false);
            }
            tvwPower.DataBind();
        }
        catch
        {
        }
    }
Ejemplo n.º 8
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            UserRule userRule = new UserRule();

            if (!string.IsNullOrWhiteSpace(txtUsuario.Text) && !string.IsNullOrWhiteSpace(txtClave.Text))
            {
                User = userRule.GetUser(txtUsuario.Text, txtClave.Text);
                if (!string.IsNullOrEmpty(User.UserName) && User.UserType == UserType)
                {
                    DialogResult = DialogResult.OK;
                }
                else
                {
                    MessageBox.Show("El usuario o la clave es incorrecta.", "Error",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtUsuario.Focus();
                    txtUsuario.SelectAll();
                    txtClave.Clear();
                    return;
                }
            }
            else
            {
                MessageBox.Show("Los campos usuario y clave son requeridos para iniciar sesión en el sistema", "Información",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtUsuario.Focus();
                return;
            }
        }
Ejemplo n.º 9
0
 protected void Page_Load(object sender, EventArgs e)
 {
     this.Title = SystemName + "_ºǫ́µÇ¼";
     try
     {
         if (!Page.IsPostBack)
         {
             UserRule objUserRule = new UserRule();
             if (PowerExit.IsNull())
             {
                 if (objUserRule.CurrentUser.IsSuper || objUserRule.CheckPowerFrame(ModuleTypeID, objUserRule.CurrentUser.UserID))
                 {
                     Redirect(SysVariable.ApplicationPath + "/DeskTop/" + CurrentLayoutPath(objUserRule.CurrentUser.UserID) + "/Default.aspx");
                 }
             }
             else
             {
                 objUserRule.SystemExitRule();
             }
         }
     }
     catch (Exception objExp)
     {
         LogHelper <LogModuleType> .DisposeException(LogModuleType.SupportLog, objExp);
     }
 }
Ejemplo n.º 10
0
 public override void RenderPage()
 {
     try
     {
         UserRule objUserRule = new UserRule();
         litRoleName.Text = objUserRule.Sys_Role.FirstOrDefault(s => s.RoleID == RoleID).RoleName;
         sys_authorizegroup objsys_authorizegroup = objUserRule.sys_authorizegroup.First(s => s.AuthorizeGroupID == AuthorizeGroupID);
         if (objsys_authorizegroup.IsSupertGroup)
         {
             XmlDataSource.Data = objPowerRule.GetPowerTreexXmlText(objsys_authorizegroup.ModuleTypeID, CurrentUser.IsSuper);
         }
         else
         {
             XmlDataSource.Data = objPowerRule.GetPowerTreexXmlText(objsys_authorizegroup.ModuleTypeID, objsys_authorizegroup.AuthorizeGroupID);
         }
         if (RoleID.IsNoNull())
         {
             // 取得角色权限
             tvwPower.SetSelectValue(objUserRule.GetRoleKeyPower(RoleID), false);
         }
         tvwPower.DataBind();
     }
     catch
     {
     }
 }
Ejemplo n.º 11
0
 public UserLoginValidation(UserRule rule)
 {
     RuleFor(e => e.Login).NotNull();
     RuleFor(e => e.Password).NotNull();
     RuleFor(e => e).MustAsync((e, cancelation) => rule.UserLoginAccountExist(e))
     .WithMessage($"Usuario ou senha não encontrados").WithErrorCode("401");
 }
        private void LoadDoctores()
        {
            UserRule userRule = new UserRule();

            cbxDoctor.DataSource    = userRule.GetDoctor();
            cbxDoctor.ValueMember   = "Id";
            cbxDoctor.DisplayMember = "UserName";
        }
Ejemplo n.º 13
0
        /// <summary>
        /// Change UserRule values.
        /// </summary>
        /// <param name="request">The UserRule Request Pivot to change.</param>
        public void UpdateUserRule(UserRuleRequestPivot request)
        {
            if (request?.UserRulePivot == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            UserRule userRule = _unitOfWork.UserRuleRepository.GetById(request.UserRulePivot.UserRuleId);

            userRule.UserRuleStatus = request.UserRulePivot.UserRuleStatus;
            _unitOfWork.Save();
        }
Ejemplo n.º 14
0
 protected void btnLogin_Click(object sender, EventArgs e)
 {
     try
     {
         UserRule  objUserRule  = new UserRule();
         LoginInfo objLoginInfo = objUserRule.LoginRule(txtAccount.Text, txtPassword.Text, chkLogin.Checked, UserTypeList);
         Redirect(SysVariable.ApplicationPath + "/DeskTop/" + CurrentLayoutPath(objLoginInfo.UserID) + "/Default.aspx");
     }
     catch (Exception objExp)
     {
         LogHelper <LogModuleType> .DisposeException(LogModuleType.SupportLog, objExp);
     }
 }
Ejemplo n.º 15
0
 protected void lbtnOut_Click(object sender, EventArgs e)
 {
     try
     {
         UserRule objUser = new UserRule();
         objUser.SystemExitRule();
         Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "logout", "<script>window.location='../../Default.aspx'</script>");
     }
     catch (Exception objExp)
     {
         LogHelper.DisposeException(LogModuleType.SupportLog.ToString(), objExp);
     }
 }
Ejemplo n.º 16
0
        /// <summary>
        /// Change UserRule values.
        /// </summary>
        /// <param name="request">The UserRule Request Pivot to change.</param>
        public void UpdateUserRuleRange(UserRuleRequestPivot request)
        {
            if (request?.UserRulePivotList == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            foreach (var itemUserRule in request.UserRulePivotList.ToList())
            {
                UserRule userRule = _unitOfWork.UserRuleRepository.GetById(itemUserRule.UserRuleId);
                userRule.UserRuleStatus = itemUserRule.UserRuleStatus;
                _unitOfWork.Save();
            }
        }
Ejemplo n.º 17
0
        /// <summary>
        /// 创建事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            if (password.Password != againpassword.Password)
            {
                MessageBox.Show("两次输入密码不一致");
            }
            List <string> roles = new List <string>();

            foreach (CheckBox item in roleNames.Children)
            {
                if (item.IsChecked == true)
                {
                    roles.Add(item.Content.ToString());
                }
            }

            UserRule user = new UserRule()
            {
                emailAddress = emailAddress.Text,
                userName     = userName.Text,
                name         = name.Text,
                password     = password.Password,
                surname      = surname.Text,
                roleNames    = roles.ToArray()
            };

            var result = await userRequest.CreateRequest(Uris.BaseUrl + Uris.User + "Create", user);

            if ((bool)result["success"])
            {
                NewId = result["result"]["id"].ToString();

                var re = await UploadImage();

                if (re != null && !(bool)re["success"])
                {
                    MessageBox.Show(re["error"]["message"].ToString());
                }
                else
                {
                    GoBack();
                }
            }
            else
            {
                MessageBox.Show(result["error"]["message"].ToString());
            }
        }
Ejemplo n.º 18
0
        public static bool Authorized(this UserRule userRule, string rolerName, RulerType rulerType)
        {
            // invalid rule
            if (userRule.Status != RecordStatus.Active)
            {
                return(false);
            }

            // Super users
            if (userRule.Roler.Equals(RulerType.AdminUser) || userRule.Roler.Equals(RulerType.SuperUser))
            {
                return(true);
            }

            return(userRule.RolerName.ToLower().Equals(rolerName.ToLower()) && userRule.Roler.Equals(rulerType));
        }
Ejemplo n.º 19
0
 /// <summary>
 /// From UserRule To UserRule Pivot.
 /// </summary>
 /// <param name="userRule">userRule TO ASSEMBLE</param>
 /// <returns>UserRulePivot result.</returns>
 public static UserRulePivot ToPivot(this UserRule userRule)
 {
     if (userRule == null)
     {
         return(null);
     }
     return(new UserRulePivot
     {
         UserRuleStatus = userRule.UserRuleStatus,
         UserRuleId = userRule.UserRuleId,
         User = userRule.User.ToPivot(),
         Rule = userRule.Rule.ToPivot(),
         UserId = userRule.UserId,
         RuleId = userRule.RuleId
     });
 }
Ejemplo n.º 20
0
        /// <summary>
        /// Create new UserRule.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>UserRule Response Pivot added.</returns>
        public UserRuleResponsePivot CreateUserRule(UserRuleRequestPivot request)
        {
            if (request?.UserRulePivot == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            UserRule userRule = request.UserRulePivot.ToEntity();

            _unitOfWork.UserRuleRepository.Insert(userRule);
            _unitOfWork.Save();

            return(new UserRuleResponsePivot
            {
                UserRulePivot = userRule.ToPivot()
            });
        }
Ejemplo n.º 21
0
        public IEnumerable <ModuleCoteInfo> GetPowerCoteTreeFunctionModule(string moduleTypeID)
        {
            UserRule rule = new UserRule();
            List <ModuleCoteInfo> list = new List <ModuleCoteInfo>();
            List <WTF.Power.Entity.Sys_Module> list2 = this.CurrentEntities.GetPowerFunctionModuleByID(moduleTypeID, "", rule.CurrentUser.UserID, true).ToList <WTF.Power.Entity.Sys_Module>();

            foreach (WTF.Power.Entity.Sys_Module module in from s in list2
                     where s.ParentModuleID == moduleTypeID
                     orderby s.SortIndex
                     select s)
            {
                ModuleCoteInfo item = new ModuleCoteInfo {
                    ModuleID   = module.ModuleID,
                    ImageUrl   = module.ImageUrl,
                    ModuleName = module.ModuleName,
                    PowXml     = "",
                    SortIndex  = module.SortIndex,
                    ToolTip    = module.ToolTip
                };
                XmlDocument xmlDocSource = new XmlDocument();
                XmlElement  newChild     = xmlDocSource.CreateElement("Module");
                newChild.SetAttribute("ModuleID", item.ModuleID.ToString());
                newChild.SetAttribute("ModuleName", item.ModuleName);
                newChild.SetAttribute("ToolTip", item.ToolTip);
                newChild.SetAttribute("ImageUrl", item.ImageUrl);
                newChild.SetAttribute("ModuleLevel", module.ModuleLevel.ToString());
                newChild.SetAttribute("NavigateUrl", "");
                xmlDocSource.AppendChild(newChild);
                if (module.ModuleCoteID > 0)
                {
                    XmlElement element2 = this.GetCotePowerXmlElement(xmlDocSource, module, rule.CurrentUser);
                    if (element2 != null)
                    {
                        newChild.AppendChild(element2);
                    }
                }
                else
                {
                    this.CreatePowerTreeXmlMenuElement(xmlDocSource, item.ModuleID, newChild, list2);
                }
                item.PowXml = xmlDocSource.InnerXml;
                list.Add(item);
            }
            return(list);
        }
Ejemplo n.º 22
0
        public string GetPowerCoteTreeFunctionModuleXml(string moduleTypeID, string ModuleCode)
        {
            UserRule rule = new UserRule();

            new List <ModuleCoteInfo>();
            List <WTF.Power.Entity.Sys_Module> list = this.CurrentEntities.GetPowerFunctionModuleByID(moduleTypeID, ModuleCode, rule.CurrentUser.UserID, true).ToList <WTF.Power.Entity.Sys_Module>();

            WTF.Power.Entity.Sys_Module module = this.CurrentEntities.sys_module.FirstOrDefault <WTF.Power.Entity.Sys_Module>(s => (s.ModuleTypeID == moduleTypeID) && (s.ModuleCode == ModuleCode));
            XmlDocument xmlDocSource           = new XmlDocument();

            if (module.ModuleCoteID > 0)
            {
                XmlElement newChild = this.GetCotePowerXmlElement(xmlDocSource, module, rule.CurrentUser);
                if (newChild != null)
                {
                    xmlDocSource.AppendChild(newChild);
                }
                else
                {
                    XmlElement element2 = xmlDocSource.CreateElement("Module");
                    element2.SetAttribute("ModuleID", module.ModuleID.ToString());
                    element2.SetAttribute("ModuleName", module.ModuleName);
                    element2.SetAttribute("ToolTip", module.ToolTip);
                    element2.SetAttribute("ImageUrl", module.ImageUrl);
                    element2.SetAttribute("ModuleLevel", module.ModuleLevel.ToString());
                    element2.SetAttribute("NavigateUrl", "");
                    xmlDocSource.AppendChild(newChild);
                }
            }
            else
            {
                XmlElement element3 = xmlDocSource.CreateElement("Module");
                element3.SetAttribute("ModuleID", module.ModuleID.ToString());
                element3.SetAttribute("ModuleName", module.ModuleName);
                element3.SetAttribute("ToolTip", module.ToolTip);
                element3.SetAttribute("ImageUrl", module.ImageUrl);
                element3.SetAttribute("ModuleLevel", module.ModuleLevel.ToString());
                element3.SetAttribute("NavigateUrl", "");
                xmlDocSource.AppendChild(element3);
                this.CreatePowerTreeXmlMenuElement(xmlDocSource, module.ModuleID, element3, list);
            }
            return(xmlDocSource.InnerXml);
        }
Ejemplo n.º 23
0
    public override void RenderPage()
    {

        try
        {
            UserRule objUserRule = new UserRule();
            XmlDataSource.Data = objPowerRule.GetPowerTreexXmlText(ModuleTypeID, CurrentUser.IsSuper);
            if (UserID.IsNoNull())
            {
                // 取得角色权限
                tvwPower.SetSelectValue(objUserRule.GetUserAllKeyPower(UserID), false);
            }
            tvwPower.DataBind();
        }
        catch
        {
        }

    }
Ejemplo n.º 24
0
 public override void RenderPage()
 {
     try
     {
         UserRule           objUserRule           = new UserRule();
         sys_authorizegroup objsys_authorizegroup = objUserRule.sys_authorizegroup.First(s => s.AuthorizeGroupID == AuthorizeGroupID);
         litGroupName.Text = objsys_authorizegroup.AuthorizeGroupName;
         string moduleTypeID = objsys_authorizegroup.ModuleTypeID;
         XmlDataSource.Data = objPowerRule.GetPowerTreexXmlText(moduleTypeID, true);
         if (AuthorizeGroupID.IsNoNull())
         {
             // 取得角色权限
             tvwPower.SetSelectValue(objUserRule.GetAuthorizeGroupPower(AuthorizeGroupID), false);
         }
         tvwPower.DataBind();
     }
     catch
     {
     }
 }
Ejemplo n.º 25
0
        private void CreatePowerTreeXmlMenuElement(XmlDocument xmlDocSource, string ModuleID, XmlElement objXmlElement, List <WTF.Power.Entity.Sys_Module> objSys_ModuleList)
        {
            string format = "javascript:opentreemodule('{0}','{1}','{2}','{3}');";

            foreach (WTF.Power.Entity.Sys_Module module in from p in objSys_ModuleList
                     where p.ParentModuleID == ModuleID
                     orderby p.SortIndex
                     select p)
            {
                if (module.ModuleCoteID > 0)
                {
                    UserRule   rule     = new UserRule();
                    XmlElement newChild = this.GetCotePowerXmlElement(xmlDocSource, module, rule.CurrentUser);
                    if (newChild != null)
                    {
                        objXmlElement.AppendChild(newChild);
                    }
                }
                else
                {
                    XmlElement element2 = xmlDocSource.CreateElement("Module");
                    element2.SetAttribute("ModuleID", module.ModuleID.ToString());
                    element2.SetAttribute("ModuleName", module.ModuleName);
                    element2.SetAttribute("ToolTip", module.ToolTip);
                    element2.SetAttribute("ImageUrl", module.ImageUrl);
                    element2.SetAttribute("ModuleLevel", module.ModuleLevel.ToString());
                    if (module.ShareModuleID.IsNull())
                    {
                        string url = module.CommandArgument + ((module.CommandArgument.IndexOf("?") >= 0) ? "&" : "?") + "PowerID=" + module.ModuleID + "&PowerName=" + module.ModuleName + ((module.CoteKeyID > 0) ? ("&CoteKeyID=" + module.CoteKeyID) : "");
                        element2.SetAttribute("NavigateUrl", module.CommandArgument.IsNull() ? "" : string.Format(format, new object[] { module.ModuleID, module.ImageUrl, url.EncryptModuleQuery(), module.ModuleName }));
                    }
                    else
                    {
                        string str3 = module.CommandArgument + ((module.CommandArgument.IndexOf("?") >= 0) ? "&" : "?") + "CoteID=" + module.ModuleID + "&CoteModuleID=" + module.ShareModuleID + "&PowerName=" + module.ModuleName + ((module.CoteKeyID > 0) ? ("&CoteKeyID=" + module.CoteKeyID) : "");
                        element2.SetAttribute("NavigateUrl", module.CommandArgument.IsNull() ? "" : string.Format(format, new object[] { module.ModuleID, module.ImageUrl, str3.EncryptModuleQuery(), module.ModuleName }));
                    }
                    objXmlElement.AppendChild(element2);
                    this.CreatePowerTreeXmlMenuElement(xmlDocSource, module.ModuleID, element2, objSys_ModuleList);
                }
            }
        }
Ejemplo n.º 26
0
    public override void RenderPage()
    {
        try
        {
            UserRule objUserRule = new UserRule();

            sys_authorizegroup objsys_authorizegroup = objUserRule.sys_authorizegroup.First(s => s.AuthorizeGroupID == AuthorizeGroupID);
            if (objsys_authorizegroup.IsSupertGroup)
            {
                XmlDataSource.Data = objPowerRule.GetPowerTreexXmlText(objsys_authorizegroup.ModuleTypeID, CurrentUser.IsSuper);
            }
            else
            {
                XmlDataSource.Data = objPowerRule.GetPowerTreexXmlText(objsys_authorizegroup.ModuleTypeID, objsys_authorizegroup.AuthorizeGroupID);
            }

            tvwPower.DataBind();
        }
        catch
        {
        }
    }
Ejemplo n.º 27
0
    public override void RenderPage()
    {
        if (!Page.IsPostBack)
        {
            UserRule objUserRule = new UserRule();


            foreach (Sys_UserType objSys_UserType in objUserRule.Sys_UserType.OrderBy(s => s.UserTypeID))
            {
                chkUserType.Items.Add(new ListItem(objSys_UserType.UserTypeName, objSys_UserType.UserTypeID.ToString()));
            }
        }

        if (ModuleModuleTypeID.IsNoNull())
        {
            objModuleType = objModuleRule.Sys_ModuleType.Where(p => p.ModuleTypeID == ModuleModuleTypeID).First();
            chkUserType.SetSelectValue(objModuleType.UserType);

            chkSystem.Checked = objModuleType.IsSystem;
            Page.DataBind();
        }
    }
Ejemplo n.º 28
0
        public IRule  Parse(IParserImmutableContext context)
        {
            var(name, rulePattern, tokenPattern) = this.TryParse(context);

            if (string.IsNullOrEmpty(name))
            {
                throw new UserRuleParserBadNameException();
            }

            if (string.IsNullOrEmpty(rulePattern))
            {
                throw new UserRuleParserBadRulePatternException();
            }

            if (string.IsNullOrEmpty(tokenPattern))
            {
                throw new UserRuleParserBadTokenExpressionException();
            }

            var tokenExpression = this.ParseTokenExpression(tokenPattern);

            if (tokenExpression == null)
            {
                throw new UserRuleParserBadTokenExpressionException();
            }

            var rule = new UserRule(name: name, rulePattern: rulePattern, tokenConvertionPattern: tokenExpression);

            if (!rule.IsValid(context))
            {
                throw new UserRuleParserBadTokenExpressionException();
            }

            DefaultParserContext.GlobalContext.ParsedRules.Push(rule);

            return(rule);
        }
Ejemplo n.º 29
0
        public void TestThatSimpleRuleWorkCorrect()
        {
            // Arrange

            var text   = "int a;";
            var name   = "name";
            var stream = new MemoryStream().FromString(text);

            var tokenPatter = new TokenExpression(name, new Dictionary <string, int> {
                { "type", 0 },
                { "name", 2 }
            });

            var rule = new UserRule(name: name, rulePattern: this.rawRule, tokenConvertionPattern: tokenPatter);

            // Act

            rule.Check(stream);
            var result = rule.Convert();

            // Assert

            Assert.AreEqual(result.Name, name);
            Assert.IsNull(result.Value);
            Assert.AreEqual(2, result.Childs.Count);
            var type = result.Childs.FirstOrDefault(x => x.Name == "type");

            Assert.IsNotNull(type);
            Assert.AreEqual(0, type.Childs.Count);
            Assert.AreEqual("int", type.Value);
            var vrName = result.Childs.FirstOrDefault(x => x.Name == "name");

            Assert.IsNotNull(vrName);
            Assert.AreEqual(0, vrName.Childs.Count);
            Assert.AreEqual("a", vrName.Value);
        }
Ejemplo n.º 30
0
        private void MakeSeeds()
        {
            _context.Database.EnsureCreated();

            Rule r1 = _context.Rules.Add(new Rule()
            {
                Id            = 1,
                Name          = "Ton ordi !",
                Description   = "Fais un Win+L sinon tu paie les croissants, tu as 1 chance !!!",
                CoinsCapacity = 1
            }).Entity;

            Rule r2 = _context.Rules.Add(new Rule()
            {
                Id            = 2,
                Name          = "La chaise !",
                Description   = "Quand tu as fini la journée, tu met ta chaise sur ta table, sinon tu paie les croissants. Tu as 3 chances.",
                CoinsCapacity = 3
            }).Entity;

            Rule r3 = _context.Rules.Add(new Rule()
            {
                Id            = 3,
                Name          = "La porte !",
                Description   = "Quand tu sors tu ferme la porte derière toi, sinon tu paie les croissants. Tu as 3 chances.",
                CoinsCapacity = 3
            }).Entity;

            Team t1 = _context.Teams.Add(new Team()
            {
                Id   = 1,
                Name = "CESI RIL B2 aka Croissanistan"
            }).Entity;

            TeamRule tr1 = _context.TeamRules.Add(new TeamRule()
            {
                Team = t1,
                Rule = r1
            }).Entity;

            TeamRule tr2 = _context.TeamRules.Add(new TeamRule()
            {
                Team = t1,
                Rule = r2
            }).Entity;

            TeamRule tr3 = _context.TeamRules.Add(new TeamRule()
            {
                Team = t1,
                Rule = r3
            }).Entity;

            User u1 = _context.Users.Add(new User()
            {
                Id        = 1,
                Lastname  = "Vallet",
                Firstname = "Sébastien",
                BirthDate = new System.DateTime(1997, 09, 18),
                Team      = t1
            }).Entity;

            User u2 = _context.Users.Add(new User()
            {
                Id        = 2,
                Lastname  = "Bayon",
                Firstname = "Sylvain",
                BirthDate = new System.DateTime(1970, 01, 01),
                Team      = t1
            }).Entity;

            UserRule ur1 = _context.UserRules.Add(new UserRule()
            {
                User          = u1,
                Rule          = r1,
                CoinsQuantity = 1
            }).Entity;

            UserRule ur2 = _context.UserRules.Add(new UserRule()
            {
                User          = u2,
                Rule          = r3,
                CoinsQuantity = 2
            }).Entity;
        }