コード例 #1
0
        public SerialNumberRuleDTO Add(SerialNumberRuleDTO SerialNumberRuleDTO)
        {
            var serialNumberRule = SerialNumberRuleDTO.ToModel();

            serialNumberRule.Id      = IdentityGenerator.NewSequentialGuid();
            serialNumberRule.Created = DateTime.UtcNow;

            if (serialNumberRule.RuleName.IsNullOrBlank())
            {
                throw new DefinedException(CommonMessageResources.Name_Empty);
            }

            if (serialNumberRule.Prefix.IsNullOrBlank())
            {
                throw new DefinedException(CommonMessageResources.Prefix_Empty);
            }

            if (serialNumberRule.NumberLength <= 0)
            {
                throw new DefinedException(BaseMessagesResources.NumberLength_NotGreat_Than_Zero);
            }

            if (_Repository.Exists(serialNumberRule))
            {
                throw new DataExistsException(string.Format(BaseMessagesResources.SerialNumberRule_Exists, serialNumberRule.RuleName));
            }

            _Repository.Add(serialNumberRule);

            #region 操作日志

            var serialNumberRuleDto = serialNumberRule.ToDto();

            OperateRecorder.RecordOperation(serialNumberRuleDto.Id.ToString(),
                                            BaseMessagesResources.Add_SerialNumberRule,
                                            serialNumberRuleDto.GetOperationLog());

            #endregion

            //commit the unit of work
            _Repository.UnitOfWork.Commit();

            return(serialNumberRule.ToDto());
        }
コード例 #2
0
        public void Update(SerialNumberRuleDTO SerialNumberRuleDTO)
        {
            //get persisted item
            var serialNumberRule = _Repository.Get(SerialNumberRuleDTO.Id);

            if (serialNumberRule == null)
            {
                throw new DataNotFoundException(BaseMessagesResources.SerialNumberRule_NotExists);
            }

            var oldDTO = serialNumberRule.ToDto();

            var current = SerialNumberRuleDTO.ToModel();

            serialNumberRule.RuleName      = current.RuleName;
            serialNumberRule.Prefix        = current.Prefix;
            serialNumberRule.UseDateNumber = current.UseDateNumber;
            serialNumberRule.NumberLength  = current.NumberLength;

            if (serialNumberRule.RuleName.IsNullOrBlank())
            {
                throw new DefinedException(CommonMessageResources.Name_Empty);
            }

            if (_Repository.Exists(serialNumberRule))
            {
                throw new DataExistsException(string.Format(BaseMessagesResources.SerialNumberRule_Exists, serialNumberRule.RuleName));
            }

            #region 操作日志

            var ruleDto = serialNumberRule.ToDto();

            OperateRecorder.RecordOperation(oldDTO.Id.ToString(),
                                            BaseMessagesResources.Update_SerialNumberRule,
                                            ruleDto.GetOperationLog(oldDTO));

            #endregion

            //commit unit of work
            _Repository.UnitOfWork.Commit();
        }
コード例 #3
0
        public ActionResult EditSerialNumberRule(SerialNumberRuleDTO serialNumberRule)
        {
            return(HttpHandleExtensions.AjaxCallGetResult(() =>
            {
                if (serialNumberRule.Id == Guid.Empty)
                {
                    serialNumberRule.CreatorId = GetCurrentUser().UserId;
                    _serialNumberRuleService.Add(serialNumberRule);
                    this.JsMessage = MessagesResources.Add_Success;
                }
                else
                {
                    _serialNumberRuleService.Update(serialNumberRule);
                    this.JsMessage = MessagesResources.Update_Success;
                }

                return Json(new AjaxResponse
                {
                    Succeeded = true,
                    RedirectUrl = Url.Action("Index")
                });
            }));
        }
        public static string GetOperationLog(this SerialNumberRuleDTO entity, SerialNumberRuleDTO oldDTO = null)
        {
            var sb = new StringBuilder();

            if (oldDTO == null)
            {
                sb.AppendLine(string.Format("{0}: {1}", CommonMessageResources.Name, entity.RuleName));
                sb.AppendLine(string.Format("{0}: {1}", BaseMessagesResources.SerialNumberRule_Prefix, entity.Prefix));
                sb.AppendLine(string.Format("{0}: {1}", BaseMessagesResources.SerialNumberRule_UseDateNumber, entity.UseDateNumber));
                sb.AppendLine(string.Format("{0}: {1}", BaseMessagesResources.SerialNumberRule_NumberLength, entity.NumberLength));
            }
            else
            {
                if (entity.RuleName != oldDTO.RuleName)
                {
                    sb.AppendLine(string.Format("{0}: {1} => {2}",
                                                CommonMessageResources.Name, oldDTO.RuleName, entity.RuleName));
                }
                if (entity.Prefix != oldDTO.Prefix)
                {
                    sb.AppendLine(string.Format("{0}: {1} => {2}",
                                                BaseMessagesResources.SerialNumberRule_Prefix, oldDTO.Prefix, entity.Prefix));
                }
                if (entity.UseDateNumber != oldDTO.UseDateNumber)
                {
                    sb.AppendLine(string.Format("{0}: {1} => {2}",
                                                BaseMessagesResources.SerialNumberRule_UseDateNumber, oldDTO.UseDateNumber, entity.UseDateNumber));
                }
                if (entity.NumberLength != oldDTO.NumberLength)
                {
                    sb.AppendLine(string.Format("{0}: {1} => {2}",
                                                BaseMessagesResources.SerialNumberRule_NumberLength, oldDTO.NumberLength, entity.NumberLength));
                }
            }

            return(sb.ToString().TrimEnd('\r', '\n'));
        }
コード例 #5
0
 public static SerialNumberRule ToModel(this SerialNumberRuleDTO dto)
 {
     return(Mapper.Map <SerialNumberRule>(dto));
 }