// I Prefer to leave this class at the top so easy to see what contistutes a valid request object private CountryCreate.Request CreateValidRequest(params Action<CountryCreate.Request>[] updates) { var commandModel = EntityGenerator.Create<CountryCreate.CommandModel>(); var request = new CountryCreate.Request("UserId", commandModel); updates.ToList().ForEach(func => func(request)); return request; }
public async Task<HttpResponseMessage> AddCountry(CountryCreate.CommandModel commandModel) { var request = new CountryCreate.Request(SystemPrincipal.Name, commandModel); var response = await DomainServices.CallServiceAsync<CountryCreate.Response>(request); var keyPairs = response.ValidationDetails.AsKeyValuePairs(); return Request.CreateResponse(HttpStatusCode.OK, new { response.Id, ErrorMessages = keyPairs, BigErrorMessage = keyPairs.Any() ? keyPairs.Select(p => p.Value).Aggregate((l, r) => $"{l}{Environment.NewLine}{r}") : null, }); }