private NodeValueExpressions MapConceptExpressionToNodeValueExpressions(ConceptExpression ConceptExpression) { var nodExpressions = new NodeValueExpressions() { Id = ConceptExpression.ID }; if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + imageUrl_Yellow)) { nodExpressions.ImageUrl = imagePath_Yellow; } if (ConceptExpression.CanEditInFinal) { nodExpressions.ImageUrl = imageUrl_Blue; } if (!ConceptExpression.CanAddToFinal) { nodExpressions.ImageUrl = imageUrl_silver; } nodExpressions.Value = ConceptExpression; return(nodExpressions); }
public string MakeJsonObjectListString(ConceptExpression childCncptExprsn) { var tt = Serialize(new List <NodeValueExpressions>() { MapConceptExpressionToNodeValueExpressions(childCncptExprsn) }); return(tt); }
public string[] UpdateExpression_ExpressionsPage( string ID, string Parent_ID, string ScriptBeginFa, string ScriptEndFa, string ScriptBeginEn, string ScriptEndEn, string AddOnParentCreation, string CanAddToFinal, string CanEditInFinal, string Visible, string SortOrder, string PageState ) { this.InitializeCulture(); UIValidationExceptions uiValidationExceptions = new UIValidationExceptions(); string[] retMessage = new string[4]; decimal iID = 0; ConceptExpression ConceptExpressionRecived = new ConceptExpression(); ConceptExpressionRecived.ID = Convert.ToDecimal(StringBuilder.CreateString(ID)); PageState = StringBuilder.CreateString(PageState); if (PageState != "Delete") { uiValidationExceptions = BExpression.Validation(ScriptBeginFa); if (uiValidationExceptions.ExceptionList.Count > 0) { retMessage = this.ExceptionHandler.HandleException( this.Page, ExceptionTypes.UIValidationExceptions, uiValidationExceptions, retMessage); return(retMessage); } if (!string.IsNullOrEmpty(StringBuilder.CreateString(Parent_ID))) { ConceptExpressionRecived.Parent_ID = Convert.ToDecimal(StringBuilder.CreateString(Parent_ID)); } /* * ID, Parent_ID, ScriptBeginFa, ScriptEndFa, ScriptBeginEn, * ScriptEndEn, AddOnParentCreation, CanAddToFinal, CanEditInFinal, * Visible, SortOrder, PageState */ ConceptExpressionRecived.ScriptBeginFa = StringBuilder.CreateString(ScriptBeginFa); ConceptExpressionRecived.ScriptEndFa = StringBuilder.CreateString(ScriptEndFa); ConceptExpressionRecived.ScriptBeginEn = StringBuilder.CreateString(ScriptBeginEn); ConceptExpressionRecived.ScriptEndEn = StringBuilder.CreateString(ScriptEndEn); ConceptExpressionRecived.SortOrder = int.Parse(StringBuilder.CreateString(SortOrder)); ConceptExpressionRecived.AddOnParentCreation = bool.Parse(StringBuilder.CreateString(AddOnParentCreation)); ConceptExpressionRecived.CanAddToFinal = bool.Parse(StringBuilder.CreateString(CanAddToFinal)); ConceptExpressionRecived.CanEditInFinal = bool.Parse(StringBuilder.CreateString(CanEditInFinal)); ConceptExpressionRecived.Visible = bool.Parse(StringBuilder.CreateString(Visible)); } #region Effect on DB try { #region Set UIActionType Enum UIActionType uiActionType = UIActionType.ADD; switch (PageState.ToUpper()) { #region Add case "ADD": uiActionType = UIActionType.ADD; iID = BExpression.InsertConceptExpression(ConceptExpressionRecived); break; #endregion #region Edit case "EDIT": uiActionType = UIActionType.EDIT; if (ConceptExpressionRecived.ID == 0) { retMessage = this.ExceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, new Exception(GetLocalResourceObject("NoConceptExpressionSelectedforEdit").ToString()), retMessage); return(retMessage); } var conceptFromDb = BExpression.GetByID(ConceptExpressionRecived.ID); BExpression.Copy(ConceptExpressionRecived, ref conceptFromDb); iID = BExpression.UpdateConceptExpression(conceptFromDb); break; #endregion #region Delete case "DELETE": uiActionType = UIActionType.DELETE; if (ConceptExpressionRecived.ID == 0) { retMessage = this.ExceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, new Exception(GetLocalResourceObject("NoConceptExpressionSelectedforDelete").ToString()), retMessage); return(retMessage); } iID = BExpression.DeleteConceptExpression(ConceptExpressionRecived); break; #endregion default: break; } #endregion retMessage[0] = GetLocalResourceObject("RetSuccessType").ToString(); string SuccessMessageBody = string.Empty; switch (uiActionType) { 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] = iID.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); } #endregion }
/// <summary> /// ارتباطات مفهوم ثانوی با بقیه مدل ها را دیتابیس ایجاد و بروزرسانی می کند /// </summary> /// <param name="secondaryConcept">مفهوم ثانوی</param> private void AddUpdateRelatedExpression(SecondaryConcept secondaryConcept) { try { var bCnpExpression = new BConceptExpression(); var cnpExpressionRoot = bCnpExpression.GetRoot(); if (cnpExpressionRoot == null) { try { cnpExpressionRoot = new ConceptExpression { AddOnParentCreation = false, CanAddToFinal = false, CanEditInFinal = false, CustomeCategoryCode = 0, Parent_ID = null, ScriptBeginEn = string.Empty, ScriptEndEn = string.Empty, ScriptBeginFa = "...", ScriptEndFa = string.Empty, SortOrder = 0, Visible = true }; bCnpExpression.InsertConceptExpression(cnpExpressionRoot); } catch (Exception) { var uiException = new UIValidationExceptions(); uiException.Add(ExceptionResourceKeys.BSecondaryConceptCustomeCategoryParentExpressionRequierd, "مولفه ریشه (...) ساخته نشد", ExceptionSrc); throw uiException; } } #region اجزاي كاربردي var expressionParent1 = bCnpExpression.GetByParentId(cnpExpressionRoot.ID) .FirstOrDefault(x => x.ScriptBeginFa.Contains("اجزاي كاربردي")); if (expressionParent1 == null) { try { expressionParent1 = new ConceptExpression { AddOnParentCreation = false, CanAddToFinal = false, CanEditInFinal = false, CustomeCategoryCode = int.Parse(secondaryConcept.CustomCategoryCode), Parent_ID = cnpExpressionRoot.ID, ScriptBeginEn = string.Empty, ScriptEndEn = string.Empty, ScriptBeginFa = "اجزاي كاربردي", ScriptEndFa = string.Empty, SortOrder = 0, Visible = true }; bCnpExpression.InsertConceptExpression(expressionParent1); } catch (Exception) { var uiException = new UIValidationExceptions(); uiException.Add(ExceptionResourceKeys.BSecondaryConceptCustomeCategoryParentExpressionRequierd, "مولفه اجزاي كاربردي ساخته نشد", ExceptionSrc); throw uiException; } } #endregion #region مفهوم var expressionParent2 = bCnpExpression.GetByParentId(expressionParent1.ID) .FirstOrDefault(x => x.ScriptBeginFa.Contains("مفهوم")); if (expressionParent2 == null) { try { expressionParent2 = new ConceptExpression { AddOnParentCreation = false, CanAddToFinal = false, CanEditInFinal = false, CustomeCategoryCode = int.Parse(secondaryConcept.CustomCategoryCode), Parent_ID = expressionParent1.ID, ScriptBeginEn = string.Empty, ScriptEndEn = string.Empty, ScriptBeginFa = "مفهوم", ScriptEndFa = string.Empty, SortOrder = 1, Visible = true }; bCnpExpression.InsertConceptExpression(expressionParent2); } catch (Exception) { var uiException = new UIValidationExceptions(); uiException.Add(ExceptionResourceKeys.BSecondaryConceptCustomeCategoryParentExpressionRequierd, "مولفه مفهوم ساخته نشد", ExceptionSrc); throw uiException; } } #endregion #region بازه ای مقداری عملگر string periodicTypeTitle; switch (secondaryConcept.Type) { case ScndCnpPairableType.PSC: periodicTypeTitle = "بازه ای"; break; case ScndCnpPairableType.NPSC: periodicTypeTitle = "مقداری"; break; default: periodicTypeTitle = "عملگر"; break; } var expressionParent3 = bCnpExpression.GetByParentId(expressionParent2.ID) .FirstOrDefault(x => x.ScriptBeginFa.Contains(periodicTypeTitle)); if (expressionParent3 == null) { try { expressionParent3 = new ConceptExpression { AddOnParentCreation = false, CanAddToFinal = false, CanEditInFinal = false, CustomeCategoryCode = int.Parse(secondaryConcept.CustomCategoryCode), Parent_ID = expressionParent2.ID, ScriptBeginEn = string.Empty, ScriptEndEn = string.Empty, ScriptBeginFa = periodicTypeTitle, ScriptEndFa = string.Empty, SortOrder = 1, Visible = true }; bCnpExpression.InsertConceptExpression(expressionParent3); } catch (Exception) { var uiException = new UIValidationExceptions(); uiException.Add(ExceptionResourceKeys.BSecondaryConceptCustomeCategoryParentExpressionRequierd, "مولفه" + periodicTypeTitle + "موجود نیست", ExceptionSrc); throw uiException; } } #endregion #region کاری مرخصی ماموریت غیبت اضافه کار var expressionParent4 = bCnpExpression.GetByParentId(expressionParent3.ID) .FirstOrDefault(x => x.CustomeCategoryCode == int.Parse(secondaryConcept.CustomCategoryCode)); if (expressionParent4 == null) { var customCategoryTitle = string.Empty; try { switch (int.Parse(secondaryConcept.CustomCategoryCode)) { case 1: { customCategoryTitle = "کاری"; break; } case 2: { customCategoryTitle = "مرخصی"; break; } case 3: { customCategoryTitle = "ماموریت"; break; } case 4: { customCategoryTitle = "غیبت"; break; } case 5: { customCategoryTitle = "اضافه کار"; break; } default: { customCategoryTitle = "کاری"; break; } } expressionParent4 = new ConceptExpression { AddOnParentCreation = false, CanAddToFinal = false, CanEditInFinal = false, CustomeCategoryCode = int.Parse(secondaryConcept.CustomCategoryCode), Parent_ID = expressionParent3.ID, ScriptBeginEn = string.Empty, ScriptEndEn = string.Empty, ScriptBeginFa = customCategoryTitle, ScriptEndFa = string.Empty, SortOrder = 1, Visible = true }; bCnpExpression.InsertConceptExpression(expressionParent4); } catch (Exception) { var uiException = new UIValidationExceptions(); uiException.Add(ExceptionResourceKeys.BSecondaryConceptCustomeCategoryParentExpressionRequierd, "مولفه" + customCategoryTitle + "موجود نیست", ExceptionSrc); throw uiException; } } #endregion var conceptExpressionObj = new ConceptExpression { AddOnParentCreation = false, CanAddToFinal = true, CanEditInFinal = false, CustomeCategoryCode = int.Parse(secondaryConcept.CustomCategoryCode), Parent_ID = expressionParent4.ID, ScriptBeginEn = string.Format("this.DoConcept({0}).Value", secondaryConcept.IdentifierCode), ScriptEndEn = string.Empty, ScriptBeginFa = secondaryConcept.Name, ScriptEndFa = string.Empty, SortOrder = (int)secondaryConcept.ID, Visible = true }; bCnpExpression.InsertConceptExpression(conceptExpressionObj); } catch (Exception ex) { var uiException = new UIValidationExceptions(); uiException.Add(ExceptionResourceKeys.BSecondaryConceptCustomeCategoryParentExpressionRequierd, ex.Message, ExceptionSrc); throw uiException; } }