public IQueryable <Models.Presentation.ReportsViewModel> Post([FromBody] Models.Presentation.SearchCriteria value) { var reports = from r in this._db.IncidentReports join u in this._db.Users on r.userId equals u.userId join p in this._db.IncidentPrograms on r.programId equals p.incidentProgramId join s in this._db.ReportStatuses on r.statusId equals s.reportStatusId where r.clientName.Contains(value.clientName) && r.incidentDate >= value.startDate && r.incidentDate <= value.endDate select new Models.Presentation.ReportsViewModel { incidentId = r.incidentId, createdByName = u.lastName + ", " + u.firstName, clientName = r.clientName, programTitle = p.programTitle, incidentDate = r.incidentDate, isApproximate = r.isApproximate, createdStamp = r.createdStamp, lastModified = r.lastModified, statusId = r.statusId, currentStatus = s.reportStatusText }; return(reports); }
public IQueryable <Models.Presentation.SearchResults> Search([FromBody] Models.Presentation.SearchCriteria value) { bool isIncidentsAdmin = User.IsInRole(@"MAIN\IncidentAdmins"); if (isIncidentsAdmin) { var reports = from r in this._db.IncidentReports join s in this._db.ReportStatus on r.statusId equals s.reportStatusId join p in this._db.IncidentPrograms on r.programId equals p.incidentProgramId where r.clientName.Contains(value.clientName) && r.createdStamp >= value.startDate && r.createdStamp <= value.endDate select new Models.Presentation.SearchResults { incidentId = r.incidentId, incidentDate = r.incidentDate, createdStamp = r.createdStamp, clientName = r.clientName, staffName = r.staffName, statusId = r.statusId, reportStatusText = s.reportStatusText, programTitle = p.programTitle, incidentLocation = r.incidentLocation }; return(reports); } else { var reports = from r in this._db.IncidentReports join s in this._db.ReportStatus on r.statusId equals s.reportStatusId join p in this._db.IncidentPrograms on r.programId equals p.incidentProgramId where r.clientName.Contains(value.clientName) && r.createdStamp >= value.startDate && r.createdStamp <= value.endDate && r.userId == value.userId select new Models.Presentation.SearchResults { incidentId = r.incidentId, incidentDate = r.incidentDate, createdStamp = r.createdStamp, clientName = r.clientName, staffName = r.staffName, statusId = r.statusId, reportStatusText = s.reportStatusText, programTitle = p.programTitle, incidentLocation = r.incidentLocation }; return(reports); } }