/// <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); }
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); }
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); } }
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 }); }