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 })); }
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); }