public IResult UpdateContact(IUpdateContactParameters parameters) { try { return(_companyServiceProvider.UpdateContact(parameters)); } catch (Exception ex) { _exceptionLogger.LogException(ex); return(new FailureResult <string>(null, ex.Message)); } }
public IResult UpdateContact(IUpdateContactParameters parameters) { if(parameters == null) { throw new ArgumentNullException("parameters"); } var parametersResult = parameters.ToParsedParameters(); if(!parametersResult.Success) { return parametersResult; } var commandResult = new UpdateContactCommand(_companyUnitOfWork).Execute(parametersResult.ResultingObject); if(!commandResult.Success) { return commandResult; } _companyUnitOfWork.Commit(); return SyncParameters.Using(new SuccessResult(), commandResult.ResultingObject.ToCompanyKey()); }
internal static IResult <UpdateContactCommandParameters> ToParsedParameters(this IUpdateContactParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } var contactKeyResult = KeyParserHelper.ParseResult <IContactKey>(parameters.ContactKey); if (!contactKeyResult.Success) { return(contactKeyResult.ConvertTo <UpdateContactCommandParameters>()); } var updateAddresses = new List <SetContactAddressParameters>(); if (parameters.Addresses != null) { foreach (var address in parameters.Addresses) { var addressResult = address.ToParsedParameters(); if (!addressResult.Success) { return(addressResult.ConvertTo <UpdateContactCommandParameters>()); } updateAddresses.Add(addressResult.ResultingObject); } } return(new SuccessResult <UpdateContactCommandParameters>(new UpdateContactCommandParameters { Parameters = parameters, ContactKey = contactKeyResult.ResultingObject.ToContactKey(), SetAddresses = updateAddresses })); }