Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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());
        }