public bool CodeRuleDefinifionEditingDateTimeData_PreTransitionCRUD(string transition) { switch (transition) { case "Save": { try { //Get CodeRuleDataType Guid codeRuleDataTypeId = Guid.Parse(cbCodeRuleDataType.SelectedItem.Value.ToString()); //Get CodeRuleDataFormat Guid codeRuleDataFormatId = Guid.Parse(cbCodeRuleDataFormat.SelectedItem.Value.ToString()); codeRuleDefinitionBO.Update(session, CodeRuleDefinitionId, codeRuleDataTypeId); CodeRuleData codeRuleData = codeRuleDataBO.Update(session, CodeRuleDefinitionId, codeRuleDataFormatId); CodeRuleDataId = codeRuleData.CodeRuleDataId; return(true); } catch (Exception) { return(false); } } default: break; } return(true); }
public bool CodeRuleDefinitionEditing_UpdateGUI() { ClearForm(); CodeRuleData codeRuleData = codeRuleDataBO.GetCodeRuleData(session, CodeRuleDefinitionId); cbCodeRuleDataType.Value = codeRuleData.CodeRuleDefinitionId.CodeRuleDataTypeId.CodeRuleDataTypeId.ToString(); popupCodeRuleDefinitionEditingForm.ShowOnPageLoad = true; return(true); }
private void SetCodeRuleDataFormat() { Guid selectedCodeRuleDataTypeId = Guid.Parse(cbCodeRuleDataType.SelectedItem.Value.ToString()); CodeRuleData codeRuleData = codeRuleDataBO.GetCodeRuleData(session, CodeRuleDefinitionId, selectedCodeRuleDataTypeId); if (codeRuleData == null) { cbCodeRuleDataFormat.SelectedIndex = 0; } }
public bool CodeRuleDefinifionCreatingNumberData_PreTransitionCRUD(string transition) { switch (transition) { case "Save": { try { ArtifactCodeRuleEditingForm artifactCodeRuleEditingForm = (ArtifactCodeRuleEditingForm)Parent; //Get CodeRuleDataType Guid codeRuleDataTypeId = Guid.Parse(cbCodeRuleDataType.SelectedItem.Value.ToString()); //Get CodeRuleDataFormat Guid codeRuleDataFormatId = Guid.Parse(cbCodeRuleDataFormat.SelectedItem.Value.ToString()); Guid ruleRepeaterTypeId = Guid.Parse(cbRuleRepeaterType.SelectedItem.Value.ToString()); CodeRuleDefinition codeRuleDefinition = codeRuleDefinitionBO.Insert(session, artifactCodeRuleEditingForm.ArtifactCodeRuleId, codeRuleDataTypeId, ParentCodeRuleDefinitionId); int beginNum = (int)spinBeginNumberValue.Number; int step = (int)spinStep.Number; int endNum = (int)spinEndNumberValue.Number; CodeRuleData codeRuleData = codeRuleNumberDataBO.Insert(session, codeRuleDefinition.CodeRuleDefinitionId, codeRuleDataFormatId, beginNum, step, endNum, ruleRepeaterTypeId); CodeRuleDefinitionId = codeRuleDefinition.CodeRuleDefinitionId; CodeRuleDataId = codeRuleData.CodeRuleDataId; return(true); } catch (Exception) { return(false); } } default: break; } return(true); }
public bool CodeRuleDefinifionCreatingStringData_PreTransitionCRUD(string transition) { switch (transition) { case "Save": { try { ArtifactCodeRuleEditingForm artifactCodeRuleEditingForm = (ArtifactCodeRuleEditingForm)Parent; //Get CodeRuleDataType Guid codeRuleDataTypeId = Guid.Parse(cbCodeRuleDataType.SelectedItem.Value.ToString()); //Get CodeRuleDataFormat Guid codeRuleDataFormatId = Guid.Parse(cbCodeRuleDataFormat.SelectedItem.Value.ToString()); CodeRuleDefinition codeRuleDefinition = codeRuleDefinitionBO.Insert(session, artifactCodeRuleEditingForm.ArtifactCodeRuleId, codeRuleDataTypeId, ParentCodeRuleDefinitionId); CodeRuleData codeRuleData = codeRuleStringDataBO.Insert(session, codeRuleDefinition.CodeRuleDefinitionId, codeRuleDataFormatId, txtStringValue.Text); CodeRuleDefinitionId = codeRuleDefinition.CodeRuleDefinitionId; CodeRuleDataId = codeRuleData.CodeRuleDataId; return(true); } catch (Exception) { return(false); } } default: break; } return(true); }
protected void cpnCodeRuleDefinitionEditingForm_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e) { string transition = null; bool isSuccess = false; try { string[] args = e.Parameter.Split('|'); transition = args[0]; if (transition.Equals("Edit")) { if (args.Length > 1) { CodeRuleDefinitionId = Guid.Parse(args[1]); ParentCodeRuleDefinitionId = Guid.Empty; } else { throw new Exception(); } GUIContext.State = new ERPSystem.ArtifactCode.State.CodeRuleDefinitionForm.CodeRuleDefinitionEditing(this); CodeRuleData codeRuleData = codeRuleDataBO.GetCodeRuleData(session, CodeRuleDefinitionId); CodeRuleDataId = codeRuleData.CodeRuleDataId; transition = GetTransitionByDataTypeCode(codeRuleData.CodeRuleDefinitionId.CodeRuleDataTypeId.Code); //Request change state GUIContext.Request(transition, this); } else if (transition.Equals("Create")) { if (args.Length > 1) { CodeRuleDefinitionId = Guid.Empty; Guid temp; if (!Guid.TryParse(args[1], out temp)) { temp = Guid.Empty; } ParentCodeRuleDefinitionId = temp; } else { throw new Exception(); } GUIContext.State = new ERPSystem.ArtifactCode.State.CodeRuleDefinitionForm.CodeRuleDefinitionCreating(this); cbCodeRuleDataType.SelectedIndex = 0; Guid selectedCodeRuleDataTypeId = Guid.Parse(cbCodeRuleDataType.SelectedItem.Value.ToString()); CodeRuleDataType codeRuleDataType = session.GetObjectByKey <CodeRuleDataType>(selectedCodeRuleDataTypeId); transition = GetTransitionByDataTypeCode(codeRuleDataType.Code); //Request change state GUIContext.Request(transition, this); } else if (transition.Equals("ChangeDataType")) { Guid selectedCodeRuleDataTypeId = Guid.Parse(cbCodeRuleDataType.SelectedItem.Value.ToString()); CodeRuleDataType codeRuleDataType = session.GetObjectByKey <CodeRuleDataType>(selectedCodeRuleDataTypeId); transition = GetTransitionByDataTypeCode(codeRuleDataType.Code); //Request change state GUIContext.Request(transition, this); } else { //Request change state GUIContext.Request(transition, this); } isSuccess = true; } catch (Exception ex) { throw; } finally { if (transition != null) { cpnCodeRuleDefinitionEditingForm.JSProperties.Add("cpCallbackArgs", String.Format("{{ \"transition\": \"{0}\", \"success\": {1} }}", transition, isSuccess.ToString().ToLower())); } } }
public List <CodeRuleDefinitionView> GetCodeRuleDefinitionView(Guid artifactCodeRuleId) { List <CodeRuleDefinitionView> ret = null; Session session = null; try { session = XpoHelper.GetNewSession(); ArtifactCodeRule artifactCodeRule = session.GetObjectByKey <ArtifactCodeRule>(artifactCodeRuleId); XPQuery <CodeRuleData> codeRuleDataQuery = session.Query <CodeRuleData>(); XPQuery <CodeRuleDefinition> codeRuleDefinitionQuery = session.Query <CodeRuleDefinition>(); List <CodeRuleData> codeRuleDataList = (from da in codeRuleDataQuery join de in codeRuleDefinitionQuery on da.CodeRuleDefinitionId equals de where de.ArtifactCodeRuleId == artifactCodeRule && de.RowStatus == Utility.Constant.ROWSTATUS_ACTIVE && da.RowStatus == Utility.Constant.ROWSTATUS_ACTIVE select da).ToList(); if (codeRuleDataList != null) { ret = new List <CodeRuleDefinitionView>(); foreach (CodeRuleData item in codeRuleDataList) { CodeRuleDefinitionView codeRuleDefinitionView; if (item is CodeRuleStringData) { CodeRuleStringData actualCodeRuleData = (CodeRuleStringData)item; Guid parentCodeRuleDefinitionId = Guid.Empty; if (actualCodeRuleData.CodeRuleDefinitionId.ParentCodeRuleDefinitionId != null) { parentCodeRuleDefinitionId = actualCodeRuleData.CodeRuleDefinitionId.ParentCodeRuleDefinitionId.CodeRuleDefinitionId; } codeRuleDefinitionView = new CodeRuleDefinitionView() { CodeRuleDefinitionId = actualCodeRuleData.CodeRuleDefinitionId.CodeRuleDefinitionId, ParentCodeRuleDefinitionId = parentCodeRuleDefinitionId, DataFormat = actualCodeRuleData.CodeRuleDataFormatId.Name, DataType = actualCodeRuleData.CodeRuleDefinitionId.CodeRuleDataTypeId.Name, DataValue = actualCodeRuleData.StringValue }; } else if (item is CodeRuleNumberData) { CodeRuleNumberData actualCodeRuleData = (CodeRuleNumberData)item; Guid parentCodeRuleDefinitionId = Guid.Empty; if (actualCodeRuleData.CodeRuleDefinitionId.ParentCodeRuleDefinitionId != null) { parentCodeRuleDefinitionId = actualCodeRuleData.CodeRuleDefinitionId.ParentCodeRuleDefinitionId.CodeRuleDefinitionId; } codeRuleDefinitionView = new CodeRuleDefinitionView() { CodeRuleDefinitionId = actualCodeRuleData.CodeRuleDefinitionId.CodeRuleDefinitionId, ParentCodeRuleDefinitionId = parentCodeRuleDefinitionId, DataFormat = actualCodeRuleData.CodeRuleDataFormatId.Name, DataType = actualCodeRuleData.CodeRuleDefinitionId.CodeRuleDataTypeId.Name, DataValue = actualCodeRuleData.BeginNumberValue.ToString() }; } else { CodeRuleData actualCodeRuleData = item; Guid parentCodeRuleDefinitionId = Guid.Empty; if (actualCodeRuleData.CodeRuleDefinitionId.ParentCodeRuleDefinitionId != null) { parentCodeRuleDefinitionId = actualCodeRuleData.CodeRuleDefinitionId.ParentCodeRuleDefinitionId.CodeRuleDefinitionId; } codeRuleDefinitionView = new CodeRuleDefinitionView() { CodeRuleDefinitionId = actualCodeRuleData.CodeRuleDefinitionId.CodeRuleDefinitionId, ParentCodeRuleDefinitionId = parentCodeRuleDefinitionId, DataFormat = actualCodeRuleData.CodeRuleDataFormatId.Name, DataType = actualCodeRuleData.CodeRuleDefinitionId.CodeRuleDataTypeId.Name, DataValue = String.Empty }; } ret.Add(codeRuleDefinitionView); } } return(ret); } catch (Exception) { return(null); } finally { if (session != null) { session.Dispose(); } } }
public string GetCodeDefinition(Session session, CodeRuleDefinition codeRuleDefinition, bool isUpdateLastestWhenIsNumber) { string codeDefinition = String.Empty; ArtifactCodeFormater.CodeRuleData data = null; ArtifactCodeFormater.CodeRuleDataFormater formater = null; int beginNum = 0; int step = 0; int endNum = 0; int lastestNum = 0; int currentNum = 0; //2.1. Get data type //2.2. Get format type CodeRuleData codeRuleData = codeRuleDefinition.CodeRuleData.FirstOrDefault(r => r.RowStatus == Utility.Constant.ROWSTATUS_ACTIVE); //Get format code string dataFormat = codeRuleData.CodeRuleDataFormatId.Code; //2.3. Determine the data type //2.3.1. When is STRING #region STRING if (codeRuleDefinition.CodeRuleDataTypeId.Code.Equals("STRING")) { CodeRuleStringData _codeRuleStringData = (CodeRuleStringData)codeRuleData; data = new ArtifactCodeFormater.CodeRuleData(); switch (dataFormat) { case "NORMAL": formater = new ArtifactCodeFormater.CodeRuleDataFormaterString(); break; case "LOWERCASE": formater = new ArtifactCodeFormater.CodeRuleDataFormaterStringLowerCase(); break; case "UPPERCASE": formater = new ArtifactCodeFormater.CodeRuleDataFormaterStringUpperCase(); break; case "ACSII": formater = new ArtifactCodeFormater.CodeRuleDataFormaterStringACSI(); break; case "UPPERCASE_ACSII": formater = new ArtifactCodeFormater.CodeRuleDataFormaterStringACSI( new ArtifactCodeFormater.CodeRuleDataFormaterStringUpperCase() ); break; case "LOWERCASE_ACSII": formater = new ArtifactCodeFormater.CodeRuleDataFormaterStringACSI( new ArtifactCodeFormater.CodeRuleDataFormaterStringLowerCase() ); break; default: break; } data.Value = _codeRuleStringData.StringValue; data.FormatString = _codeRuleStringData.CodeRuleDataFormatId.FormatString; } #endregion //2.3.2. When is NUMBER #region NUMBER else if (codeRuleDefinition.CodeRuleDataTypeId.Code.Equals("NUMBER")) { CodeRuleNumberData _codeRuleNumberData = (CodeRuleNumberData)codeRuleData; //2.3.2.1. Get begin number beginNum = _codeRuleNumberData.BeginNumberValue; //2.3.2.2. Get step step = _codeRuleNumberData.Step; //2.3.2.3. Get end number endNum = _codeRuleNumberData.EndNumberValue; //2.3.2.4. Get lastest number lastestNum = _codeRuleNumberData.LastNumber; //check can get more code if (isUpdateLastestWhenIsNumber) { if (step > 0) { if ((step + lastestNum) > endNum) { throw new Exception("Definition is invalid"); } } else if (step < 0) { if ((step + lastestNum) < endNum) { throw new Exception("Definition is invalid"); } } currentNum = lastestNum + step; } else { currentNum = beginNum; } formater = new ArtifactCodeFormater.CodeRuleDataFormaterNumber(); data = new ArtifactCodeFormater.CodeRuleData(); data.Value = currentNum; data.FormatString = _codeRuleNumberData.CodeRuleDataFormatId.FormatString; if (isUpdateLastestWhenIsNumber) { _codeRuleNumberData.LastNumber = currentNum; _codeRuleNumberData.Save(); } } #endregion //2.3.3. When is DATETIME #region DATETIME //Get system datetime else if (codeRuleDefinition.CodeRuleDataTypeId.Code.Equals("DATETIME")) { formater = new ArtifactCodeFormater.CodeRuleDataFormaterDateTime(); data = new ArtifactCodeFormater.CodeRuleData(); data.Value = DateTime.Now; data.FormatString = codeRuleData.CodeRuleDataFormatId.FormatString; } #endregion data.UseFormater(formater); codeDefinition = data.GetFormatedValue(); int countChild = codeRuleDefinition.CodeRuleDefinitions.Where(r => r.RowStatus == Utility.Constant.ROWSTATUS_ACTIVE).Count(); if (countChild == 0) { return(codeDefinition); } else { CodeRuleDefinition childCodeRuleDefinition = codeRuleDefinition.CodeRuleDefinitions .Where(r => r.RowStatus == Utility.Constant.ROWSTATUS_ACTIVE) .First(); return(codeDefinition += GetCodeDefinition(session, childCodeRuleDefinition, isUpdateLastestWhenIsNumber)); } }