Esempio n. 1
0
        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 HttpResponseMessage DeleteProject([FromBody] int projectId)
        {
            if (projectId != 0)
            {
                var projectToDelete = repo.GetProjectById(projectId);
                var projectOwners   = repo.GetProjectOwnersByProjectId(projectToDelete.Id);
                var projectTimes    = repo.GetProjectTimeRecords(projectToDelete.Id);
                if (projectOwners.Count() > 0)
                {
                    foreach (var owner in projectOwners)
                    {
                        repo.deleteOwner(owner);
                    }
                }

                if (projectTimes.Count() > 0)
                {
                    foreach (var time in projectTimes)
                    {
                        repo.DeleteTime(time);
                    }
                }
                if (projectToDelete != null)
                {
                    repo.DeleteProject(projectToDelete);
                    return(Request.CreateResponse(HttpStatusCode.OK, "Project deleted successfully."));
                }
                else
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "No project found. Please try again."));
                }
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "An error occured."));
            }
        }