Beispiel #1
0
        /// <summary>
        /// مقدار پارامتر قانون پرسنل را برمی گرداند
        /// </summary>
        /// <param name="currentDate">تاریخ جاری</param>
        /// <param name="person">پرسنل</param>
        /// <param name="ruleIdentifier">کد قانون</param>
        /// <param name="parameterName">نام پارامتر</param>
        /// <returns>مقدار پارامتر</returns>
        private object GetRuleParameter(DateTime currentDate, Person person, int ruleIdentifier, string parameterName)
        {
            try
            {
                if (person.AssignedRuleList != null)
                {
                    AssignedRule ar = person.AssignedRuleList.Where(x => x.FromDate <= currentDate && x.ToDate >= currentDate && x.IdentifierCode == ruleIdentifier).FirstOrDefault();
                    if (ar != null)
                    {
                        EntityRepository <AssignRuleParameter> paramRep  = new EntityRepository <AssignRuleParameter>();
                        IList <AssignRuleParameter>            paramList = paramRep.Find(x => x.Rule.ID == ar.RuleId).ToList();

                        AssignRuleParameter asp = paramList.Where(x => x.FromDate <= currentDate && x.ToDate >= currentDate).FirstOrDefault();
                        if (asp != null)
                        {
                            RuleParameter parameter = asp.RuleParameterList.Where(x => x.Name.ToLower().Equals(parameterName.ToLower())).FirstOrDefault();

                            if (parameter != null)
                            {
                                return(parameter.Value);
                            }
                        }
                    }
                }
                return(null);
            }
            catch (Exception ex)
            {
                BaseBusiness <Entity> .LogException(ex, "BUserInfo", "GetRuleParameter");

                throw ex;
            }
        }
        public void TestSetup()
        {
            try
            {
                assignRuleParameter_testObject = new AssignRuleParameter();
                int ruleTypeID = Convert.ToInt32(new TA_RuleTypeTableAdapter().GetData().Rows[0]["RuleType_ID"]);
                catTA.Insert("TestCategory", "", false, "00-00test1");
                DatabaseGateway.TA_RuleCategoryDataTable cat = new DatabaseGateway.TA_RuleCategoryDataTable();
                cat             = catTA.GetDataByName("TestCategory");
                ADORuleCat.ID   = Convert.ToInt32(cat.Rows[0]["ruleCat_ID"]);
                ADORuleCat.Name = Convert.ToString(cat.Rows[0]["ruleCat_Name"]);

                ruleTA.Insert(1033, "a", "a", "a", 67, false, ADORuleCat.ID, ruleTypeID, 0);
                DatabaseGateway.TA_RuleDataTable ruleTable = new DatabaseGateway.TA_RuleDataTable();
                ruleTable              = ruleTA.GetByIdentifierCode(1033);
                ADORule.ID             = Convert.ToInt32(ruleTable.Rows[0]["rule_ID"]);
                ADORule.IdentifierCode = Convert.ToInt32(ruleTable.Rows[0]["rule_IdentifierCode"]);
                ADORule.TemplateId     = Convert.ToInt32(ruleTable.Rows[0]["rule_RuleTmpId"]);
                ADORule.CategoryId     = Convert.ToInt32(ruleTable.Rows[0]["rule_RuleCategoryId"]);

                assignRuleTA.Insert(new DateTime(2000, 1, 1), new DateTime(2001, 1, 1), ADORule.ID);
                assignRuleTA.Insert(new DateTime(2002, 1, 1), new DateTime(2003, 1, 1), ADORule.ID);
                DatabaseGateway.TA_AssignRuleParameterDataTable assignTable = new DatabaseGateway.TA_AssignRuleParameterDataTable();
                assignTable = assignRuleTA.GetDataByRuleID(ADORule.ID);

                ADOAssignRuleParam1.ID       = Convert.ToInt32(assignTable.Rows[0]["AsgRuleParam_ID"]);
                ADOAssignRuleParam1.FromDate = Convert.ToDateTime(assignTable.Rows[0]["AsgRuleParam_FromDate"]);
                ADOAssignRuleParam1.ToDate   = Convert.ToDateTime(assignTable.Rows[0]["AsgRuleParam_ToDate"]);

                ADOAssignRuleParam2.ID       = Convert.ToInt32(assignTable.Rows[1]["AsgRuleParam_ID"]);
                ADOAssignRuleParam2.FromDate = Convert.ToDateTime(assignTable.Rows[1]["AsgRuleParam_FromDate"]);
                ADOAssignRuleParam2.ToDate   = Convert.ToDateTime(assignTable.Rows[1]["AsgRuleParam_ToDate"]);

                parameterTA.Insert(ADOAssignRuleParam1.ID, "Param1", "0", 0, "");
                parameterTA.Insert(ADOAssignRuleParam1.ID, "Param2", "0", 0, "");

                DatabaseGateway.TA_RuleParameterDataTable paramTable = new DatabaseGateway.TA_RuleParameterDataTable();
                parameterTA.FillByAssignID(paramTable, ADOAssignRuleParam1.ID);

                ADOParameter1.ID    = Convert.ToInt32(paramTable.Rows[0]["RuleParam_ID"]);
                ADOParameter1.Value = Convert.ToString(paramTable.Rows[0]["RuleParam_Value"]);
                ADOParameter1.Name  = Convert.ToString(paramTable.Rows[0]["RuleParam_Name"]);
                ADOParameter1.Title = Convert.ToString(paramTable.Rows[0]["RuleParam_Title"]);
                ADOParameter1.Type  = (RuleParamType)Convert.ToInt32(paramTable.Rows[0]["RuleParam_Type"]);

                ADOParameter2.ID    = Convert.ToInt32(paramTable.Rows[1]["RuleParam_ID"]);
                ADOParameter2.Value = Convert.ToString(paramTable.Rows[1]["RuleParam_Value"]);
                ADOParameter2.Name  = Convert.ToString(paramTable.Rows[1]["RuleParam_Name"]);
                ADOParameter2.Title = Convert.ToString(paramTable.Rows[1]["RuleParam_Title"]);
                ADOParameter2.Type  = (RuleParamType)Convert.ToInt32(paramTable.Rows[1]["RuleParam_Type"]);

                businessAssignRule = new BRuleParameter(ADORule.TemplateId, ADORule.CategoryId);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void Update_CheckParametersTest()
        {
            IList <RuleParameter> pList = businessAssignRule.GetRuleParameters(ADOAssignRuleParam1.ID);

            pList.RemoveAt(0);
            pList[0].Value = "test";
            ClearSession();
            decimal assgnId = businessAssignRule.UpdateParameter(pList, ADOAssignRuleParam1.ID, ADOAssignRuleParam1.FromDate.AddYears(-1), ADOAssignRuleParam1.ToDate);

            ClearSession();
            assignRuleParameter_testObject = businessAssignRule.GetByID(assgnId);
            Assert.AreEqual(pList[0].Value, assignRuleParameter_testObject.RuleParameterList.Where(x => x.Name == pList[0].Name).First().Value);
        }
        public void Update_EditParametersTest()
        {
            IList <RuleParameter> pList = businessAssignRule.GetRuleParameters(ADOAssignRuleParam1.ID);

            pList.RemoveAt(0);
            pList[0].Value = "test";
            ClearSession();
            decimal assgnId = businessAssignRule.UpdateParameter(pList, ADOAssignRuleParam1.ID, ADOAssignRuleParam1.FromDate.AddYears(-1), ADOAssignRuleParam1.ToDate);

            ClearSession();
            assignRuleParameter_testObject = businessAssignRule.GetByID(assgnId);
            Assert.IsTrue(assignRuleParameter_testObject.RuleParameterList.Count == businessAssignRule.GetRuleParameters(ADOAssignRuleParam1.ID).Count);
        }
 public void Delete_Test2()
 {
     try
     {
         ClearSession();
         businessAssignRule.SaveChanges(ADOAssignRuleParam1, UIActionType.DELETE);
         ClearSession();
         assignRuleParameter_testObject = businessAssignRule.GetByID(ADOAssignRuleParam1.ID);
         Assert.Fail("سرویس حذف کار نمیکند ");
     }
     catch (ItemNotExists ex)
     {
     }
 }
 public void Delete_Test1()
 {
     try
     {
         ClearSession();
         businessAssignRule.DeleteParameter(ADOAssignRuleParam1.ID);
         ClearSession();
         assignRuleParameter_testObject = businessAssignRule.GetByID(ADOAssignRuleParam1.ID);
         Assert.Fail("سرویس حذف کار نمیکند ");
     }
     catch (ItemNotExists ex)
     {
     }
 }
        public void Insert_ParameterCheckTest()
        {
            IList <RuleTemplateParameter> pList = businessAssignRule.GetTemplateParameters();

            pList.RemoveAt(0);
            pList[0].Value = "test";
            pList[1].Value = "test2";

            decimal assgnId = businessAssignRule.InsertParameter(pList, DateTime.Now, DateTime.Now.AddYears(1));

            ClearSession();
            assignRuleParameter_testObject = businessAssignRule.GetByID(assgnId);
            Assert.AreEqual(pList[0].Value, assignRuleParameter_testObject.RuleParameterList.Where(x => x.Name == pList[0].Name).First().Value);
        }
        public void Insert_AddParameterTest()
        {
            IList <RuleTemplateParameter> pList = businessAssignRule.GetTemplateParameters();

            pList.RemoveAt(0);
            pList[0].Value = "test";
            pList[1].Value = "test2";

            decimal assgnId = businessAssignRule.InsertParameter(pList, DateTime.Now, DateTime.Now.AddYears(1));

            ClearSession();
            assignRuleParameter_testObject = businessAssignRule.GetByID(assgnId);
            Assert.IsTrue(assignRuleParameter_testObject.RuleParameterList.Count == businessAssignRule.GetTemplateParameters().Count);
        }
Beispiel #9
0
        public BaseRuleParameter GetRuleParameter(DateTime currentDate, decimal ruleId, string paramName)
        {
            GTS.Clock.Infrastructure.Repository.EntityRepository <AssignRuleParameter> paramRep = new GTS.Clock.Infrastructure.Repository.EntityRepository <AssignRuleParameter>();
            IList <AssignRuleParameter> paramList = paramRep.Find(x => x.Rule.ID == ruleId).ToList();

            AssignRuleParameter asp = paramList.Where(x => x.FromDate <= currentDate && x.ToDate >= currentDate).FirstOrDefault();

            if (asp != null)
            {
                RuleParameter parameter = asp.RuleParameterList.Where(x => x.Name.ToLower().Equals(paramName.ToLower())).FirstOrDefault();

                return(parameter);
            }
            return(null);
        }
Beispiel #10
0
    public string[] UpdateRuleParameter_RuleParametersPage(string state, string ruleGroupState, string RuleGroupID, string RuleID, string SelectedRuleDateRangeID, string FromDate, string ToDate, string ParametersList)
    {
        this.InitializeCulture();

        string[] retMessage = new string[4];

        try
        {
            decimal RuleDateRangeID         = 0;
            decimal ruleGroupID             = decimal.Parse(this.StringBuilder.CreateString(RuleGroupID));
            decimal ruleID                  = decimal.Parse(this.StringBuilder.CreateString(RuleID));
            decimal selectedRuleDateRangeID = decimal.Parse(this.StringBuilder.CreateString(SelectedRuleDateRangeID));
            FromDate       = this.StringBuilder.CreateString(FromDate);
            ToDate         = this.StringBuilder.CreateString(ToDate);
            ParametersList = this.StringBuilder.CreateString(ParametersList);
            object              parameterList = null;
            UIActionType        uam           = (UIActionType)Enum.Parse(typeof(UIActionType), this.StringBuilder.CreateString(state).ToUpper());
            UIActionType        RGS           = (UIActionType)Enum.Parse(typeof(UIActionType), this.StringBuilder.CreateString(ruleGroupState).ToUpper());
            AssignRuleParameter ruleDateRange = new AssignRuleParameter();


            decimal        ID       = selectedRuleDateRangeID;
            DateTime       fromDate = this.LangProv.GetSysDateTime(FromDate);
            DateTime       toDate   = this.LangProv.GetSysDateTime(ToDate);
            BRuleParameter RuleParameterBusiness = this.GetRuleParameterBusiness(ruleID, ruleGroupID);

            retMessage[0] = GetLocalResourceObject("RetSuccessType").ToString();
            string SuccessMessageBody = string.Empty;

            switch (uam)
            {
            case UIActionType.ADD:
                parameterList = this.GetParametersList_RuleParameters(uam, ParametersList);
                switch (RGS)
                {
                case UIActionType.ADD:
                    RuleDateRangeID = RuleParameterBusiness.InsertRuleParameter_onRuleGroupInsert((IList <RuleTemplateParameter>)parameterList, fromDate, toDate);
                    break;

                case UIActionType.EDIT:
                    RuleDateRangeID = RuleParameterBusiness.InsertRuleParameter_onRuleGroupUpdate((IList <RuleTemplateParameter>)parameterList, fromDate, toDate);
                    break;
                }
                SuccessMessageBody = GetLocalResourceObject("AddComplete").ToString();
                break;

            case UIActionType.EDIT:
                if (selectedRuleDateRangeID == 0)
                {
                    retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, new Exception(GetLocalResourceObject("NoRuleDateRangeSelectedforEdit").ToString()), retMessage);
                    return(retMessage);
                }
                parameterList = this.GetParametersList_RuleParameters(uam, ParametersList);
                switch (RGS)
                {
                case UIActionType.ADD:
                    RuleDateRangeID = RuleParameterBusiness.UpdateRuleParameter_onRuleGroupInsert((IList <RuleParameter>)parameterList, selectedRuleDateRangeID, fromDate, toDate);
                    break;

                case UIActionType.EDIT:
                    RuleDateRangeID = RuleParameterBusiness.UpdateRuleParameter_onRuleGroupUpdate((IList <RuleParameter>)parameterList, selectedRuleDateRangeID, fromDate, toDate);
                    break;
                }
                SuccessMessageBody = GetLocalResourceObject("EditComplete").ToString();
                break;

            case UIActionType.DELETE:
                if (selectedRuleDateRangeID == 0)
                {
                    retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, new Exception(GetLocalResourceObject("NoRuleDateRangeSelectedforDelete").ToString()), retMessage);
                    return(retMessage);
                }
                switch (RGS)
                {
                case UIActionType.ADD:
                    RuleParameterBusiness.DeleteRuleParameter_onRuleGroupInsert(selectedRuleDateRangeID);
                    break;

                case UIActionType.EDIT:
                    RuleParameterBusiness.DeleteRuleParameter_onRuleGroupUpdate(selectedRuleDateRangeID);
                    break;
                }
                SuccessMessageBody = GetLocalResourceObject("DeleteComplete").ToString();
                break;
            }
            retMessage[1] = SuccessMessageBody;
            retMessage[2] = "success";
            retMessage[3] = RuleDateRangeID.ToString();
            return(retMessage);
        }
        catch (UIValidationExceptions ex)
        {
            retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, ex, retMessage);
            return(retMessage);
        }
        catch (UIBaseException ex)
        {
            retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIBaseException, ex, retMessage);
            return(retMessage);
        }
        catch (Exception ex)
        {
            retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, ex, retMessage);
            return(retMessage);
        }
    }
Beispiel #11
0
        public RuleCategory CopyRuleCategory(decimal ruleCatId)
        {
            RuleCategory ruleCat    = this.GetByID(ruleCatId);
            RuleCategory newRuleCat = new RuleCategory();

            if (BLanguage.CurrentSystemLanguage == LanguagesName.Parsi)
            {
                newRuleCat.Name = String.Format("کپی {0}", ruleCat.Name);
            }
            else
            {
                newRuleCat.Name = String.Format("Copy Of {0}", ruleCat.Name);
            }
            newRuleCat.IsRoot      = false;
            newRuleCat.Discription = ruleCat.Discription;
            newRuleCat.CustomCode  = ruleCat.CustomCode;

            #region Parent
            newRuleCat.Parent = this.GetRoot();

            #endregion

            #region Child
            ruleCat.ChildList = new List <RuleCategory>();
            foreach (RuleCategory child in ruleCat.ChildList)
            {
                RuleCategory ch = new RuleCategory();
                ch.ID = child.ID;
                ruleCat.ChildList.Add(ch);
            }
            #endregion

            #region Rule
            newRuleCat.RuleList = new List <Rule>();

            foreach (Rule rule in ruleCat.RuleList)
            {
                Rule r = new Rule();
                r.Category       = newRuleCat;
                r.IdentifierCode = rule.IdentifierCode;
                r.IsPeriodic     = rule.IsPeriodic;
                r.Name           = rule.Name;
                r.Order          = rule.Order;
                r.Script         = rule.Script;
                r.TemplateId     = rule.TemplateId;
                r.TypeId         = rule.TypeId;
                r.IsForcible     = rule.IsForcible;

                #region Assign Rule Param

                r.AssignRuleParamList = new List <AssignRuleParameter>();
                if (rule.HasParameter)
                {
                    IList <AssignRuleParameter> AssignRuleParamList = this.AssignRuleParameterRep.GetAssigneRuleParametersListByRuleID(rule.ID);
                    foreach (AssignRuleParameter assginParam in AssignRuleParamList)
                    {
                        AssignRuleParameter ass = new AssignRuleParameter();
                        ass.FromDate = assginParam.FromDate;
                        ass.ToDate   = assginParam.ToDate;
                        ass.Rule     = r;

                        #region Rule Parameter
                        ass.RuleParameterList = new List <RuleParameter>();

                        foreach (RuleParameter param in assginParam.RuleParameterList)
                        {
                            RuleParameter rp = new RuleParameter();
                            rp.Name  = param.Name;
                            rp.Title = param.Title;
                            rp.Type  = param.Type;
                            rp.Value = param.Value;
                            rp.AssignRuleParameter = ass;
                            ass.RuleParameterList.Add(rp);
                        }
                        #endregion

                        r.AssignRuleParamList.Add(ass);
                    }
                }
                #endregion

                newRuleCat.RuleList.Add(r);
            }


            #endregion

            //NHibernateSessionManager.Instance.ClearSession();
            NHibernateSessionManager.Instance.GetSession().Evict(ruleCat);
            this.SaveChanges(newRuleCat, UIActionType.ADD);
            return(new RuleCategory()
            {
                ID = newRuleCat.ID, Name = newRuleCat.Name
            });
        }