public IResult UpdateCompany(IUpdateCompanyParameters parameters) { try { return(_companyServiceProvider.UpdateCompany(parameters)); } catch (Exception ex) { _exceptionLogger.LogException(ex); return(new FailureResult <string>(null, ex.Message)); } }
public IResult UpdateCompany(IUpdateCompanyParameters parameters) { if(parameters == null) { throw new ArgumentNullException("parameters"); } var parsedParametersResult = parameters.ToParsedParameters(); if(!parsedParametersResult.Success) { return parsedParametersResult.ConvertTo<string>(); } var updateResult = new UpdateCompanyCommand(_companyUnitOfWork).Execute(_timeStamper.CurrentTimeStamp, parsedParametersResult.ResultingObject); if(!updateResult.Success) { return updateResult; } _companyUnitOfWork.Commit(); var companyKey = parsedParametersResult.ResultingObject.CompanyKey; return SyncParameters.Using(new SuccessResult<string>(companyKey), companyKey); }
internal static IResult <UpdateCompanyCommandParameters> ToParsedParameters(this IUpdateCompanyParameters updateCompanyParameters) { if (updateCompanyParameters == null) { throw new ArgumentNullException("updateCompanyParameters"); } var companyKeyResult = KeyParserHelper.ParseResult <ICompanyKey>(updateCompanyParameters.CompanyKey); if (!companyKeyResult.Success) { return(companyKeyResult.ConvertTo((UpdateCompanyCommandParameters)null)); } var companyKey = new CompanyKey(companyKeyResult.ResultingObject); if (updateCompanyParameters.CompanyTypes == null || !updateCompanyParameters.CompanyTypes.Any()) { return(new InvalidResult <UpdateCompanyCommandParameters>(null, UserMessages.CompanyTypesRequired)); } CompanyKey brokerKey = null; if (!string.IsNullOrEmpty(updateCompanyParameters.BrokerKey)) { var brokerKeyResult = KeyParserHelper.ParseResult <ICompanyKey>(updateCompanyParameters.BrokerKey); if (!brokerKeyResult.Success) { return(brokerKeyResult.ConvertTo <UpdateCompanyCommandParameters>()); } brokerKey = brokerKeyResult.ResultingObject.ToCompanyKey(); } return(new SuccessResult <UpdateCompanyCommandParameters>(new UpdateCompanyCommandParameters { Parameters = updateCompanyParameters, CompanyKey = companyKey, BrokerKey = brokerKey })); }