Exemplo n.º 1
0
        internal static IResult <CreateCompanyCommandParameters> ToParsedParameters(this ICreateCompanyParameters createCompanyParameters)
        {
            if (createCompanyParameters == null)
            {
                throw new ArgumentNullException("createCompanyParameters");
            }

            CompanyKey brokerKey = null;

            if (!string.IsNullOrEmpty(createCompanyParameters.BrokerKey))
            {
                var brokerKeyResult = KeyParserHelper.ParseResult <ICompanyKey>(createCompanyParameters.BrokerKey);
                if (!brokerKeyResult.Success)
                {
                    return(brokerKeyResult.ConvertTo <CreateCompanyCommandParameters>());
                }
                brokerKey = brokerKeyResult.ResultingObject.ToCompanyKey();
            }

            if (createCompanyParameters.CompanyTypes == null || !createCompanyParameters.CompanyTypes.Any())
            {
                return(new InvalidResult <CreateCompanyCommandParameters>(null, UserMessages.CompanyTypesRequired));
            }

            return(new SuccessResult <CreateCompanyCommandParameters>(new CreateCompanyCommandParameters
            {
                Parameters = createCompanyParameters,
                BrokerKey = brokerKey
            }));
        }
Exemplo n.º 2
0
 public IResult <string> CreateCompany(ICreateCompanyParameters parameters)
 {
     try
     {
         return(_companyServiceProvider.CreateCompany(parameters));
     }
     catch (Exception ex)
     {
         _exceptionLogger.LogException(ex);
         return(new FailureResult <string>(null, ex.Message));
     }
 }
        public IResult<string> CreateCompany(ICreateCompanyParameters parameters)
        {
            if(parameters == null) { throw new ArgumentNullException("parameters"); }

            var parsedParametersResult = parameters.ToParsedParameters();
            if(!parsedParametersResult.Success)
            {
                return parsedParametersResult.ConvertTo<string>();
            }

            var createResult = new CreateCompanyCommand(_companyUnitOfWork).Execute(_timeStamper.CurrentTimeStamp, parsedParametersResult.ResultingObject);
            if(!createResult.Success)
            {
                return createResult.ConvertTo<string>();
            }

            _companyUnitOfWork.Commit();

            var companyKey = createResult.ResultingObject.ToCompanyKey();
            return SyncParameters.Using(new SuccessResult<string>(companyKey), companyKey);
        }