/// <summary> /// 升级的校验 /// </summary> /// <param name="organization"></param> /// <returns></returns> private OperationResult ValidateUpdate(DetailedOrganizationDTO organization, out OrganizationDAO organizationDao, out OrganizationAttributeDAO organizationAttributeDao) { OperationResult result = new OperationResult(true); organizationDao = null; organizationAttributeDao = null; if (organization == null) { result.Success = false; result.Messages.Add("传入参数不能为空!"); return(result); } if (string.IsNullOrWhiteSpace(organization.Id)) { result.Success = false; result.Messages.Add("id 不能为空"); return(result); } var filter = new OrganizationFilter(); filter.Id = organization.Id; filter.IsActive = true; organizationDao = _dal.GetOrganization(filter); organizationAttributeDao = _dal.GetOrganizationAttribute(filter); //组织不存在 if (organizationDao == null || organizationAttributeDao == null) { result.Success = false; result.Messages.Add("组织不存在"); return(result); } OperationResult dataValidateResult = Validate(organization, true); if (!dataValidateResult.Success) { result.Success = false; result.Messages.AddRange(dataValidateResult.Messages); } #region 向导部分校验 OperationResult validateWizardStepResult = ValidateWizardSetp(organization, organizationAttributeDao); if (!validateWizardStepResult.Success) { result.Success = false; result.Messages.AddRange(validateWizardStepResult.Messages); } #endregion return(result); }
public ReponseResult Put([FromBody] DetailedOrganizationDTO organization) { ReponseResult result = new ReponseResult(); OperationResult operationResult = _business.UpdateOrganization(organization); result.Success = operationResult.Success; result.Message = operationResult.Message; return(result); }
/// <summary> /// 设置更新的值 /// </summary> /// <param name="organizationDTO"></param> /// <param name="organization"></param> private void SetUpdateValue(DetailedOrganizationDTO organization, OrganizationDAO organizationDao, OrganizationAttributeDAO organizationAttribute) { organizationDao.MName = string.IsNullOrWhiteSpace(organization.DisplayName) ? organizationDao.MName : organization.DisplayName; organizationDao.MLegalTradingName = string.IsNullOrWhiteSpace(organization.LegalTradingName) ? organizationDao.MLegalTradingName : organization.LegalTradingName; organizationAttribute.MBaseCurrencyID = string.IsNullOrWhiteSpace(organization.BaseCurrencyId) ? organizationAttribute.MBaseCurrencyID : organization.BaseCurrencyId; }
/// <summary> /// 向导部分的逻辑校验 /// </summary> /// <param name="organization"></param> /// <param name="organizationAttributeDao"></param> /// <returns></returns> private OperationResult ValidateWizardSetp(DetailedOrganizationDTO organization, OrganizationAttributeDAO organizationAttributeDao) { OperationResult result = new OperationResult(); if (organization.WizardStep != 0 && organizationAttributeDao.MRegProgress == (int)WizardStepType.Completed) { //如果步骤不是财务设置,并且本位币不为空 result.Success = false; result.Messages.Add("组织已经完成了向导,不能进行向导操作"); } //其他的校验 if (organization.WizardStep != (int)WizardStepType.FinancialSetup && !string.IsNullOrWhiteSpace(organization.BaseCurrencyId)) { //如果步骤不是财务设置,并且本位币不为空 result.Success = false; result.Messages.Add("当前步骤不在财务设置,不能更改本位币"); } return(result); }
/// <summary> /// 更新组织信息,有值的才更新,不传值的不更新 /// </summary> /// <param name="organization"></param> /// <returns></returns> public OperationResult UpdateOrganization(DetailedOrganizationDTO organization) { OperationResult result = new OperationResult(); OrganizationDAO organizationDao; OrganizationAttributeDAO organizationAttributeDao; //进行校验 result = ValidateUpdate(organization, out organizationDao, out organizationAttributeDao); if (!result.Success) { return(result); } //进行更新复制 SetUpdateValue(organization, organizationDao, organizationAttributeDao); result.Success = _dal.Update(organizationDao, organizationAttributeDao); return(result); }