protected override IQueryable <SpeakerCareerScheduleModel> CreateReport() { IQueryable <SpeakerCareerScheduleModel> query = Uow.GetRepositoryForEntityType <Speaker>().GetQueryable().AsNoTracking() .Include(s => s.Person) .Include(s => s.CareerScheduleDetails.Select(csd => csd.CareerDetail.Career)) .Include(s => s.CareerScheduleDetails.Select(csd => csd.CareerDetail.Course)) .Where(s => s.Status) .Select(s => new SpeakerCareerScheduleModel { Id = s.Id, Name = s.Person.Name, LastName = s.Person.LastName, CareerScheduleBySpeakerDetails = s.CareerScheduleDetails.Where(csd => csd.Status).Select(csd => new SpeakerCareerScheduleDetailModel { Id = csd.Id, Day = csd.Day, StartTime = csd.StartTime, EndTime = csd.EndTime, CareerDescription = csd.CareerDetail.Career.Description, CourseDescription = csd.CareerDetail.Course.Description }).OrderBy(csd => csd.CareerDescription) }); return(query); }
public virtual async Task <HttpResponseMessage> Put(T entity) { Uow.GetRepositoryForEntityType <T>().Update(entity); await Uow.CommitAsync(); return(new HttpResponseMessage(HttpStatusCode.NoContent)); }
public virtual async Task <HttpResponseMessage> Delete(object id) { Uow.GetRepositoryForEntityType <T>().Delete(id); await Uow.CommitAsync(); return(new HttpResponseMessage(HttpStatusCode.NoContent)); }
public virtual async Task <HttpResponseMessage> Patch([FromBody] string json) { ExpandoObject expandoObject = JsonConvert.DeserializeObject <ExpandoObject>(json); Uow.ValidateOnSaveEnabled(false); Uow.GetRepositoryForEntityType <T>().Update(expandoObject); await Uow.CommitAsync(); return(new HttpResponseMessage(HttpStatusCode.NoContent)); }
public virtual async Task <HttpResponseMessage> Get(int page, int pageSize, string orderBy, string where) { IQueryable <T> query = Uow.GetRepositoryForEntityType <T>().GetQueryable().AsNoTracking(); dynamic response = await query.CreateQuery(page, pageSize, orderBy, where, null); return(new HttpResponseMessage { Content = new ObjectContent <dynamic>(response, new JsonMediaTypeFormatter(), new MediaTypeHeaderValue("application/json")) }); }
public virtual async Task <HttpResponseMessage> Get(object id) { T entity = await Uow.GetRepositoryForEntityType <T>().FindAsync(id); if (entity != null) { return(new HttpResponseMessage { Content = new ObjectContent <T>(entity, new JsonMediaTypeFormatter(), new MediaTypeHeaderValue("application/json")) }); } throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound)); }
public virtual async Task <HttpResponseMessage> Post(T entity) { Uow.GetRepositoryForEntityType <T>().Add(entity); await Uow.CommitAsync(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created); if (entity is IEntity) { response.Headers.Location = new Uri(Request.RequestUri.AbsoluteUri + (((IEntity)entity).GetId() != null ? "/" + string.Join("/", ((IEntity)entity).GetId()) : "")); } return(response); }
protected override IQueryable <StudentEnrollmentResultModel> CreateReport(StudentEnrollmentQueryModel model) { IQueryable <StudentEnrollmentResultModel> query = Uow.GetRepositoryForEntityType <Enrollment>().GetQueryable() .AsNoTracking() .Include(e => e.Student.Person) .Include(e => e.EnrollmentDetails.Select(ed => ed.CareerDetail.Course)).Select(e => new StudentEnrollmentResultModel { StudentId = e.StudentId, StudentName = e.Student.Person.Name, StudentLastName = e.Student.Person.LastName, Created = e.Created, StudentEnrollmentDetails = e.EnrollmentDetails.Select(ed => new StudentEnrollmentDetailResultModel { CourseId = ed.CareerDetail.CourseId, CourseDescription = ed.CareerDetail.Course.Description, CourseCode = ed.CareerDetail.Course.Code, }) }); if (model != null) { if (model.StudentId > 0) { query = query.Where(e => e.StudentId == model.StudentId); } if (model.StartDate != null && model.EndDate != null) { query = query.Where(e => e.Created >= model.StartDate && e.Created <= model.EndDate); } } return(query); }