public IActionResult Update(CustomsDeclarationModel model)
        {
            ICurrentUser _user = PermissionExtention.GetUserMenuPermission(currentUser, Menu.opsCustomClearance);
            var          code  = CheckForbitUpdate(_user.UserMenuPermission.Write);

            if (code == 403)
            {
                return(Forbid());
            }
            var existedMessage = CheckExist(model, model.Id);

            if (existedMessage != null)
            {
                return(BadRequest(new ResultHandle {
                    Status = false, Message = existedMessage
                }));
            }
            var          hs      = customsDeclarationService.Update(model, x => x.Id == model.Id);
            var          message = HandleError.GetMessage(hs, Crud.Update);
            ResultHandle result  = new ResultHandle {
                Status = hs.Success, Message = stringLocalizer[message].Value
            };

            if (!hs.Success)
            {
                return(BadRequest(result));
            }
            return(Ok(result));
        }
        private string CheckExist(CustomsDeclarationModel model, decimal id)
        {
            string message = null;

            if (id == 0)
            {
                if (customsDeclarationService.Any(x => x.ClearanceNo == model.ClearanceNo && x.ClearanceDate == model.ClearanceDate))
                {
                    message = string.Format(stringLocalizer[OperationLanguageSub.MSG_CLEARANCENO_EXISTED].Value, model.ClearanceNo);
                }
            }
            else
            {
                if (customsDeclarationService.Any(x => (x.ClearanceNo == model.ClearanceNo && x.Id != id && x.ClearanceDate == model.ClearanceDate)))
                {
                    message = string.Format(stringLocalizer[OperationLanguageSub.MSG_CLEARANCENO_EXISTED].Value, model.ClearanceNo);
                }
            }
            return(message);
        }
        public IActionResult AddNew(CustomsDeclarationModel model)
        {
            ICurrentUser _user = PermissionExtention.GetUserMenuPermission(currentUser, Menu.opsCustomClearance);
            var          code  = CheckForbitUpdate(_user.UserMenuPermission.Write);

            if (code == 403)
            {
                return(Forbid());
            }
            var existedMessage = CheckExist(model, model.Id);

            if (existedMessage != null)
            {
                return(BadRequest(new ResultHandle {
                    Status = false, Message = existedMessage
                }));
            }
            model.DatetimeCreated  = DateTime.Now;
            model.DatetimeModified = DateTime.Now;
            model.UserCreated      = model.UserModified = currentUser.UserID;
            model.Source           = OperationConstants.FromEFMS;
            model.GroupId          = currentUser.GroupId;
            model.DepartmentId     = currentUser.DepartmentId;
            model.OfficeId         = currentUser.OfficeID;
            model.CompanyId        = currentUser.CompanyID;
            var          hs      = customsDeclarationService.Add(model);
            var          message = HandleError.GetMessage(hs, Crud.Insert);
            ResultHandle result  = new ResultHandle {
                Status = hs.Success, Message = stringLocalizer[message].Value
            };

            if (!hs.Success)
            {
                return(BadRequest(result));
            }
            return(Ok(result));
        }