public HttpResponseMessage GetProjectTimeRecords([FromBody] int projectId) { if (projectId != 0) { var records = repo.GetProjectTimeRecords(projectId); List <TimeDTO> ProjectTimeRecords = new List <TimeDTO>(); if (records == null || records.Count() == 0) { return(Request.CreateResponse(HttpStatusCode.NotFound, "No Records were found.")); } else { EntityToDTO etd = new EntityToDTO(); foreach (var r in records) { r.TimeSpent = CalculateProjectHours(r); TimeDTO timeDTO = etd.TimeEntityToDTO(r); if (timeDTO != null) { ProjectTimeRecords.Add(timeDTO); } } ; return(Request.CreateResponse(HttpStatusCode.OK, ProjectTimeRecords)); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "An error Occured")); } }
public void EntityToTimeDTOValid() { EntityToDTO etd = new EntityToDTO(); Time expected = new Time { Id = 1, Project_Id = 1, Date = DateTime.Now, TimeStart = new DateTime(2017, 08, 26, 08, 00, 00), TimeEnd = new DateTime(2017, 08, 26, 10, 00, 00), IsInvoiced = false, Description = "Test description" }; var actual = etd.TimeEntityToDTO(expected); Assert.AreEqual(expected.Id, actual.Id); Assert.AreEqual(expected.Project_Id, actual.Project_Id); Assert.AreEqual(expected.Description, actual.Description); Assert.AreEqual(expected.Date, actual.Date); Assert.AreEqual(expected.TimeStart, actual.TimeStart); Assert.AreEqual(expected.TimeEnd, actual.TimeEnd); Assert.AreEqual(expected.IsInvoiced, actual.IsInvoiced); }