Я занимаюсь разработкой веб-API с использованием предварительного просмотра WCF Web Api. 5. В настоящее время у меня полностью функционирует класс ресурсов, как бы я ни заметил, что мои методы внутри этого ресурса становятся сложными.
Например:
[WebInvoke(UriTemplate = "{EhrID}/PhysicalTest",Method="POST")]
public HttpResponseMessage<DTO.PhysicalTest> PostPhysicalTest(int EhrID, DTO.PhysicalTest PhysicalTestDTO)
{
var EHR = repository.FindById(EhrID);
var PhysicalTest = Mapper.Map<DTO.PhysicalTest, PhysicalTest>(PhysicalTestDTO);
if (PhysicalTest == null)
{
var response = CreateResponseForException("No object to store", HttpStatusCode.BadRequest);
throw new HttpResponseException(response);
}
try
{
if (EHR.PhysicalTests == null)
{
EHR.PhysicalTests = new List<PhysicalTest>();
}
PhysicalTest.CreationDate = DateTime.Now;
EHR.PhysicalTests.Add(PhysicalTest);
_unitOfWork.Commit();
return new HttpResponseMessage<DTO.PhysicalTest>(PhysicalTestDTO, HttpStatusCode.Created);
}
catch (Exception ex) {
var response = CreateResponseForException("Cannot create Physical Test", HttpStatusCode.InternalServerError);
throw new HttpResponseException(response);
}
}
Как вы можете заметить, этот метод имеет задачу публикации нового физического теста, но на самом деле он также проверяет мою модель (я все еще пропускаю множество проверок, проверок свойств), что не должно касаться этого класса. Если есть какой-нибудь доступный способ уменьшить сложность методов внутри ресурса?