Esempio n. 1
0
        public CodeRuleStringData Update(Session session, Guid codeRuleDefinitionId, Guid codeRuleDataFormatId, string stringValue)
        {
            CodeRuleStringData codeRuleStringData = null;

            try
            {
                CodeRuleDataBO codeRuleDataBO = new CodeRuleDataBO();
                //Check updating CodeRuleDataType already exist
                //Get CodeRuleDataFormat
                CodeRuleDataFormat codeRuleDataFormat =
                    session.GetObjectByKey <CodeRuleDataFormat>(codeRuleDataFormatId);

                //Get CodeRuleDefinition
                CodeRuleDefinition codeRuleDefinition =
                    session.GetObjectByKey <CodeRuleDefinition>(codeRuleDefinitionId);

                codeRuleStringData = (CodeRuleStringData)codeRuleDataBO.GetCodeRuleData(session,
                                                                                        codeRuleDefinition.CodeRuleDefinitionId,
                                                                                        codeRuleDataFormat.CodeRuleDataTypeId.CodeRuleDataTypeId);

                foreach (var item in codeRuleDefinition.CodeRuleData)
                {
                    item.RowStatus = Utility.Constant.ROWSTATUS_INACTIVE;
                    item.Save();
                }

                if (codeRuleStringData == null)
                {
                    codeRuleStringData = Insert(session, codeRuleDefinition.CodeRuleDefinitionId, codeRuleDataFormatId, stringValue);
                }
                else
                {
                    codeRuleStringData.StringValue          = stringValue;
                    codeRuleStringData.CodeRuleDataFormatId = codeRuleDataFormat;
                    codeRuleStringData.RowStatus            = Utility.Constant.ROWSTATUS_ACTIVE;
                    codeRuleStringData.Save();
                }

                return(codeRuleStringData);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 2
0
        public CodeRuleNumberData Update(Session session,
                                         Guid codeRuleDefinitionId,
                                         Guid codeRuleDataFormatId,
                                         int beginNumber,
                                         int step,
                                         int endNumber,
                                         Guid ruleRepeaterTypeId)
        {
            CodeRuleNumberData codeRuleNumberData = null;

            try
            {
                CodeRuleDataBO codeRuleDataBO = new CodeRuleDataBO();
                //Check updating CodeRuleDataType already exist
                //Get CodeRuleDataFormat
                CodeRuleDataFormat codeRuleDataFormat =
                    session.GetObjectByKey <CodeRuleDataFormat>(codeRuleDataFormatId);

                //Get CodeRuleDefinition
                CodeRuleDefinition codeRuleDefinition =
                    session.GetObjectByKey <CodeRuleDefinition>(codeRuleDefinitionId);

                codeRuleNumberData = (CodeRuleNumberData)codeRuleDataBO.GetCodeRuleData(session,
                                                                                        codeRuleDefinition.CodeRuleDefinitionId,
                                                                                        codeRuleDataFormat.CodeRuleDataTypeId.CodeRuleDataTypeId);

                foreach (var item in codeRuleDefinition.CodeRuleData)
                {
                    item.RowStatus = Utility.Constant.ROWSTATUS_INACTIVE;
                    item.Save();
                }

                if (codeRuleNumberData == null)
                {
                    codeRuleNumberData =
                        Insert(session,
                               codeRuleDefinition.CodeRuleDefinitionId,
                               codeRuleDataFormatId,
                               beginNumber,
                               step,
                               endNumber,
                               ruleRepeaterTypeId);
                }
                else
                {
                    int  lastestNum         = 0;
                    bool isUpdateLastestNum = false;

                    RuleRepeaterType ruleRepeaterType = session.GetObjectByKey <RuleRepeaterType>(ruleRepeaterTypeId);

                    codeRuleNumberData.BeginNumberValue     = beginNumber;
                    codeRuleNumberData.Step                 = step;
                    codeRuleNumberData.EndNumberValue       = endNumber;
                    codeRuleNumberData.RuleRepeaterTypeId   = ruleRepeaterType;
                    codeRuleNumberData.CodeRuleDataFormatId = codeRuleDataFormat;
                    codeRuleNumberData.RowStatus            = Utility.Constant.ROWSTATUS_ACTIVE;
                    //If lastest number is out of updating range
                    //then update lastest number
                    lastestNum = codeRuleNumberData.LastNumber;
                    if (step > 0)
                    {
                        if (((lastestNum + step) > endNumber) || (lastestNum + step) < beginNumber)
                        {
                            isUpdateLastestNum = true;
                        }
                    }
                    else if (step < 0)
                    {
                        if (((lastestNum + step) < endNumber) || (lastestNum + step) > beginNumber)
                        {
                            isUpdateLastestNum = true;
                        }
                    }
                    if (isUpdateLastestNum)
                    {
                        //update lastest number
                        codeRuleNumberData.LastNumber = beginNumber - step;
                    }
                    codeRuleNumberData.Save();
                }

                return(codeRuleNumberData);
            }
            catch (Exception ex)
            {
                throw;
            }
        }