/// <summary> /// رینج تاریخ پارامتر را بهمراه پارامتر دخیره میکند /// اگر تعداد پارامتر ارسالی کمتر از تعداد غالب بود آنگاه پارامترهای پیشفرض ذخیره میگردد /// بدلیل انجام عملیات جانبی تباید کلاینت مستقیما از متد /// SaveChnages استفاده کند /// </summary> /// <param name="parameters">پارامترهای مقداردهی شده از طرف کلاینت</param> /// <param name="fromDate">تاریخ شروع رینج</param> /// <param name="toDate">تاریخ پایان رینج</param> /// <returns>شناسه رینج پارامتر</returns> public decimal InsertParameter(IList <RuleTemplateParameter> parameters, DateTime fromDate, DateTime toDate) { try { AssignRuleParameter assign = new AssignRuleParameter(); assign.FromDate = fromDate; assign.ToDate = toDate; assign.Rule = workingRule; assign.RuleParameterList = new List <RuleParameter>(); IList <RuleTemplateParameter> orginList = this.GetTemplateParameters(); foreach (RuleTemplateParameter param in orginList) { if (parameters.Where(x => x.ID == param.ID).Count() > 0) { RuleTemplateParameter p = parameters.Where(x => x.ID == param.ID).First(); if (p.Type == RuleParamType.Time && p.ContinueOnTomorrow) { p.Value = Utility.ToString(Utility.ToInteger(p.Value) + 1440); } assign.RuleParameterList.Add(new RuleParameter() { Name = p.Name, Title = p.Title, Type = p.Type, Value = p.Value, AssignRuleParameter = assign }); } else { assign.RuleParameterList.Add(new RuleParameter() { Name = param.Name, Title = param.Title, Type = param.Type, Value = param.Value, AssignRuleParameter = assign }); } } base.SaveChanges(assign, UIActionType.ADD); return(assign.ID); } catch (Exception ex) { LogException(ex, "BRuleParameter", "InsertParameter"); throw ex; } }
private object GetParametersList_RuleParameters(UIActionType uam, string strParametersList) { object ParametersList = null; switch (uam) { case UIActionType.ADD: ParametersList = new List <RuleTemplateParameter>(); break; case UIActionType.EDIT: ParametersList = new List <RuleParameter>(); break; } if (strParametersList != string.Empty) { JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); object[] ParamsBatchs = (object[])jsSerializer.DeserializeObject(strParametersList); foreach (object paramBatch in ParamsBatchs) { Dictionary <string, object> paramDic = (Dictionary <string, object>)paramBatch; decimal ParameterID = decimal.Parse(paramDic["ID"].ToString()); string ParameterName = paramDic["Name"].ToString(); string ParameterTitle = paramDic["Title"].ToString(); RuleParamType ParameterType = (RuleParamType)Enum.ToObject(typeof(RuleParamType), int.Parse(paramDic["Type"].ToString())); bool IsParameterValueInNextDay = false; string ParameterValue = string.Empty; switch (ParameterType) { case RuleParamType.Date: ParameterValue = this.LangProv.GetSysDateTime(paramDic["Value"].ToString()).ToShortDateString(); break; case RuleParamType.Time: string TimeValue = string.Empty; if (paramDic["Value"].ToString().Contains("+")) { TimeValue = paramDic["Value"].ToString().Replace("+", string.Empty); IsParameterValueInNextDay = true; } else { TimeValue = paramDic["Value"].ToString(); } ParameterValue = this.CreateTimeString_RuleParameters(TimeValue, RuleParametersTimeState.Set); break; default: ParameterValue = paramDic["Value"].ToString(); break; } switch (uam) { case UIActionType.ADD: RuleTemplateParameter ruleTemplateParameter = new RuleTemplateParameter(); ruleTemplateParameter.ID = ParameterID; ruleTemplateParameter.Name = ParameterName; ruleTemplateParameter.Title = ParameterTitle; ruleTemplateParameter.Type = ParameterType; ruleTemplateParameter.Value = ParameterValue; ruleTemplateParameter.ContinueOnTomorrow = IsParameterValueInNextDay; ((List <RuleTemplateParameter>)ParametersList).Add(ruleTemplateParameter); break; case UIActionType.EDIT: RuleParameter ruleParameter = new RuleParameter(); ruleParameter.ID = ParameterID; ruleParameter.Name = ParameterName; ruleParameter.Title = ParameterTitle; ruleParameter.Type = ParameterType; ruleParameter.Value = ParameterValue; ruleParameter.ContinueOnTomorrow = IsParameterValueInNextDay; ((List <RuleParameter>)ParametersList).Add(ruleParameter); break; } } } return(ParametersList); }
public string[] UpdateRuleGenerator_RuleGeneratorPage( string state, string ID, string VariablesObject, string ParameterObject, string RuleStateObject, string CSharpCode, //string RuleObject, string PersionScript, string RuleTemplateID, string DesignedRuleID) { this.InitializeCulture(); string[] retMessage = new string[4]; try { AttackDefender.CSRFDefender(this.Page); decimal RuleGeneratorID = 0; //decimal iID = Convert.ToDecimal(this.StringBuilder.CreateString(ID)); decimal designedRuleID = Convert.ToDecimal(DesignedRuleID); VariablesObject = this.StringBuilder.CreateString(VariablesObject, StringGeneratorExceptionType.ConceptRuleManagement); ParameterObject = this.StringBuilder.CreateString(ParameterObject, StringGeneratorExceptionType.ConceptRuleManagement); RuleStateObject = this.StringBuilder.CreateString(RuleStateObject, StringGeneratorExceptionType.ConceptRuleManagement); CSharpCode = this.StringBuilder.CreateString(CSharpCode, StringGeneratorExceptionType.ConceptRuleManagement); PersionScript = this.StringBuilder.CreateString(PersionScript, StringGeneratorExceptionType.ConceptRuleManagement); BDesignedRules bDesignedRule = new BDesignedRules(); bool CheckPageState = bDesignedRule.CheckToExistRuleCSharpCode(Convert.ToDecimal(RuleTemplateID)); UIActionType uam = (UIActionType)Enum.Parse(typeof(UIActionType), this.StringBuilder.CreateString(state).ToUpper()); if (CheckPageState) { uam = (UIActionType)Enum.Parse(typeof(UIActionType), "EDIT"); } else { uam = (UIActionType)Enum.Parse(typeof(UIActionType), "ADD"); } DesignedRule designedrule = new DesignedRule(); List <RuleGeneratorRuleParameterProxy> ParameterList = GetListOfParameterObject(ParameterObject); if (uam != UIActionType.DELETE) { designedrule.VariablesObject = VariablesObject; designedrule.ParameterObject = ParameterObject; designedrule.RuleStateObject = RuleStateObject; designedrule.CSharpCode = CSharpCode; designedrule.PersionScript = PersionScript; List <RuleTemplateParameter> ruleTemplateParameterList = new List <RuleTemplateParameter>(); designedrule.RuleTemplate = new RuleTemplate { ID = Convert.ToInt32(RuleTemplateID) }; foreach (RuleGeneratorRuleParameterProxy item in ParameterList) { RuleTemplateParameter ruleTemplateParameter = new RuleTemplateParameter(); ruleTemplateParameter.Name = item.Parametername; ruleTemplateParameter.RuleTemplateId = Convert.ToInt32(RuleTemplateID); ruleTemplateParameter.Title = item.Parametername; switch (Convert.ToInt32(item.Parametertype)) { case 0: ruleTemplateParameter.Type = RuleParamType.Numeric; break; case 1: ruleTemplateParameter.Type = RuleParamType.Time; break; case 2: ruleTemplateParameter.Type = RuleParamType.Date; break; } ruleTemplateParameterList.Add(ruleTemplateParameter); } designedrule.RuleTemplateParameterList = ruleTemplateParameterList; designedrule.RuleRgisterDate = DateTime.Now; } switch (uam) { case UIActionType.ADD: designedrule.RuleEstate = (int)UIActionType.ADD; RuleGeneratorID = this.DesignedRuleBusiness.InsertDesignedRule(designedrule, uam); break; case UIActionType.EDIT: designedrule.RuleEstate = (int)UIActionType.EDIT; designedrule.ID = designedRuleID; RuleGeneratorID = this.DesignedRuleBusiness.UpdateDesignedRule(designedrule, uam); break; case UIActionType.DELETE: //if (selectedRuleGeneratorID == 0) //{ // retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, new Exception(GetLocalResourceObject("NoRuleforEdit").ToString()), retMessage); // return retMessage; //} RuleGeneratorID = this.DesignedRuleBusiness.InsertDesignedRule(designedrule, uam); break; } retMessage[0] = GetLocalResourceObject("RetSuccessType").ToString(); string SuccessMessageBody = string.Empty; switch (uam) { case UIActionType.ADD: SuccessMessageBody = GetLocalResourceObject("AddComplete").ToString(); break; case UIActionType.EDIT: SuccessMessageBody = GetLocalResourceObject("EditComplete").ToString(); break; case UIActionType.DELETE: SuccessMessageBody = GetLocalResourceObject("DeleteComplete").ToString(); break; default: break; } retMessage[1] = SuccessMessageBody; retMessage[2] = "success"; retMessage[3] = RuleGeneratorID.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 string[] UpdateRuleParameter_RulesPage( string ID, string RuleID, string Title, string Name, string TypeId, string PageState) { this.InitializeCulture(); string[] retMessage = new string[4]; try { decimal RuleParameterId = 0; decimal SelectedRuleParameterId = decimal.Parse(this.StringBuilder.CreateString(ID), CultureInfo.InvariantCulture); decimal SelectedRuleId = decimal.Parse(this.StringBuilder.CreateString(RuleID), CultureInfo.InvariantCulture); decimal SelectedRuleParameterTypeId = decimal.Parse(this.StringBuilder.CreateString(TypeId), CultureInfo.InvariantCulture); Title = this.StringBuilder.CreateString(Title); Name = this.StringBuilder.CreateString(Name); UIActionType uam = (UIActionType)Enum.Parse(typeof(UIActionType), this.StringBuilder.CreateString(PageState).ToUpper()); //RuleTemplate rt = new BRuleTemp().GetByID(SelectedRuleId); RuleTemplateParameter RuleParameter = new RuleTemplateParameter(); RuleParameter.ID = SelectedRuleParameterId; RuleParameter.RuleTemplateId = SelectedRuleId; RuleParameter.Type = (RuleParamType)SelectedRuleParameterTypeId; //rt.RuleParameterList.Add(RuleParameter); //new BRuleTemp().SaveChanges(rt, UIActionType.EDIT); if (PageState != "Delete") { RuleParameter.Title = Title; RuleParameter.Name = Name; } switch (uam) { case UIActionType.ADD: RuleParameterId = this.RuleParameterTemp.InsertRuleTempParam(RuleParameter); break; case UIActionType.EDIT: if (SelectedRuleParameterId == 0) { retMessage = this.ExceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, new Exception(GetLocalResourceObject("NoShiftPairSelectedforEdit").ToString()), retMessage); return(retMessage); } RuleParameterId = this.RuleParameterTemp.UpdateRuleTempParam(RuleParameter); break; case UIActionType.DELETE: if (SelectedRuleParameterId == 0) { retMessage = this.ExceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, new Exception(GetLocalResourceObject("NoShiftPairSelectedforDelete").ToString()), retMessage); return(retMessage); } RuleParameterId = this.RuleParameterTemp.DeleteRuleTempParam(RuleParameter); break; } retMessage[0] = GetLocalResourceObject("RetSuccessType").ToString(); string SuccessMessageBody = string.Empty; switch (uam) { case UIActionType.ADD: SuccessMessageBody = GetLocalResourceObject("AddComplete").ToString(); break; case UIActionType.EDIT: SuccessMessageBody = GetLocalResourceObject("EditComplete").ToString(); break; case UIActionType.DELETE: SuccessMessageBody = GetLocalResourceObject("DeleteComplete").ToString(); break; default: break; } retMessage[1] = SuccessMessageBody; retMessage[2] = "success"; retMessage[3] = RuleParameterId.ToString(CultureInfo.InvariantCulture); 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); } }
/// <summary> /// رینج تاریخ پارامتر را بهمراه پارامتر دخیره میکند /// اگر تعداد پارامتر ارسالی کمتر از تعداد غالب بود آنگاه پارامترهای پیشفرض ذخیره میگردد /// بدلیل انجام عملیات جانبی تباید کلاینت مستقیما از متد /// SaveChnages استفاده کند /// </summary> /// <param name="parameters">پارامترهای مقداردهی شده از طرف کلاینت</param> /// <param name="fromDate">تاریخ شروع رینج</param> /// <param name="toDate">تاریخ پایان رینج</param> /// <returns>شناسه رینج پارامتر</returns> public decimal InsertParameter(IList <RuleTemplateParameter> parameters, DateTime fromDate, DateTime toDate, UIActionType uam) { try { AssignRuleParameter assign = new AssignRuleParameter(); assign.FromDate = fromDate; assign.ToDate = toDate; assign.Rule = workingRule; assign.RuleParameterList = new List <RuleParameter>(); IList <RuleTemplateParameter> orginList = this.GetTemplateParameters(); switch (uam) { case UIActionType.ADD: foreach (RuleTemplateParameter param in orginList) { if (parameters.Where(x => x.ID == param.ID).Count() > 0) { RuleTemplateParameter p = parameters.Where(x => x.ID == param.ID).First(); if (p.Type == RuleParamType.Time && p.ContinueOnTomorrow) { p.Value = Utility.ToString(Utility.ToInteger(p.Value) + 1440); } assign.RuleParameterList.Add(new RuleParameter() { Name = p.Name, Title = p.Title, Type = p.Type, Value = p.Value, AssignRuleParameter = assign }); } else { switch ((int)assign.Rule.IdentifierCode) { case (int)RuleParameterType.MissionParameterOne: case (int)RuleParameterType.Miscellaneous: assign.RuleParameterList.Add(new RuleParameter() { Name = param.Name, Title = param.Title, Type = param.Type, Value = "1", AssignRuleParameter = assign }); break; case (int)RuleParameterType.MissionParameterZero: assign.RuleParameterList.Add(new RuleParameter() { Name = param.Name, Title = param.Title, Type = param.Type, Value = "0", AssignRuleParameter = assign }); break; case (int)RuleParameterType.Work: case (int)RuleParameterType.Absence: case (int)RuleParameterType.LeaveParameter3012: case (int)RuleParameterType.LeaveParemeter3017: assign.RuleParameterList.Add(new RuleParameter() { Name = param.Name, Title = param.Title, Type = param.Type, Value = "480", AssignRuleParameter = assign }); break; default: assign.RuleParameterList.Add(new RuleParameter() { Name = param.Name, Title = param.Title, Type = param.Type, Value = param.Value, AssignRuleParameter = assign }); break; } } } base.SaveChanges(assign, uam); break; case UIActionType.EDIT: this.UpdateAssignedRuleParameter(assign); break; } return(assign.ID); } catch (Exception ex) { LogException(ex, "BRuleParameter", "InsertParameter"); throw ex; } }