public static void UpdateRequestReport(this RequestReport requestReport, RequestReportViewModel requestReportVm) { requestReport.ID = requestReportVm.ID; requestReport.RequestID = requestReportVm.RequestID; requestReport.SupporterID = requestReportVm.SupporterID; requestReport.Note = requestReportVm.Note; requestReport.CreatedDate = requestReportVm.CreatedDate; requestReport.CreatedBy = requestReportVm.CreatedBy; requestReport.UpdatedDate = requestReportVm.UpdatedDate; requestReport.UpdatedBy = requestReportVm.UpdatedBy; requestReport.MetaKeyword = requestReportVm.MetaKeyword; requestReport.MetaDescription = requestReportVm.MetaDescription; requestReport.Status = requestReportVm.Status; }
public async Task <IActionResult> RequestReport(ReportsViewModel model) { DateTime startDateTime = model.FromDate; DateTime endDateTime = model.ToDate.AddDays(1).AddTicks(-1); var requests = await _context.Requests.Where(r => r.RequestDate >= startDateTime && r.RequestDate <= endDateTime && r.RequestStatus == RequestStatus.APPROVED).ToListAsync(); var vm = new RequestReportViewModel(); vm.Requests = new List <RequestDetails>(); vm.FromDate = model.FromDate; vm.ToDate = endDateTime; if (requests != null) { foreach (var r in requests) { var cartItem = await _context.CartItems.FirstOrDefaultAsync(ci => ci.CartItemID == r.CartItemID); var product = await _context.Products.FirstOrDefaultAsync(p => p.ProductID == cartItem.ProductID); var user = await _context.Users.FirstOrDefaultAsync(u => u.Id == r.UserID); var details = new RequestDetails { Price = cartItem.Quantity * product.Price, Quantity = cartItem.Quantity, User = user, DateRequested = r.RequestDate, ProductName = product.ProductName, RequestStatus = r.RequestStatus, RequestID = r.RequestID }; vm.Requests.Add(details); } return(new ViewAsPdf("RequestReport", vm) { PageOrientation = Orientation.Landscape, FileName = "RequestReport_" + DateTime.Now + ".pdf" }); } return(NotFound()); }