Esempio n. 1
0
        public ReportViewModel <TrainingReportViewModel> GetTrainingReport(TrainingReportFilterModel model, int OrganizationId)
        {
            ObjectParameter totalRecords = new ObjectParameter("TotalRecords", typeof(int));
            var             list         = base.RepositoryContext.SP_GetTrainingReport(model.PageNo, model.PageSize, model.SortColumn, model.SortOrder, model.TrainingId, model.StartDate == null ? (DateTime?)null : DateTime.Parse(model.StartDate), model.EndDate == null ? (DateTime?)null : DateTime.Parse(model.EndDate), OrganizationId, totalRecords).ToList();
            ReportViewModel <TrainingReportViewModel> report = new ReportViewModel <TrainingReportViewModel>()
            {
                ReportModel  = Mapper.Map <List <SP_GetTrainingReport_Result>, List <TrainingReportViewModel> >(list),
                TotalRecords = Convert.ToInt32(totalRecords.Value)
            };

            return(report);
        }
        public HttpResponseMessage DownloadTrainingReport([FromUri] TrainingReportFilterModel model)
        {
            var listReport             = this._ITrainingRepository.GetTrainingReport(model, base.OrganizationId).ReportModel;
            HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
            var stream = new MemoryStream(new UTF8Encoding().GetBytes(listReport.BuildCsvString()));

            result.Content = new StreamContent(stream);
            result.Content.Headers.ContentDisposition          = new ContentDispositionHeaderValue("attachment");
            result.Content.Headers.ContentDisposition.FileName = "export.csv";
            result.Content.Headers.ContentType   = new MediaTypeHeaderValue("application/octet-stream");
            result.Content.Headers.ContentLength = stream.Length;
            return(result);
        }
 public ReportViewModel <TrainingReportViewModel> GetTrainingReport([FromUri] TrainingReportFilterModel model)
 {
     return(this._ITrainingRepository.GetTrainingReport(model, base.OrganizationId));
 }