Inheritance: MonoBehaviour
示例#1
0
    public HttpResponseMessage Pdf()
    {
        PDFController controller = new PDFController();
        RouteData     route      = new RouteData();

        route.Values.Add("action", "getPdf");         // ActionName
        route.Values.Add("controller", "PDF");        // Controller Name
        System.Web.Mvc.ControllerContext newContext = new
                                                      System.Web.Mvc.ControllerContext(new HttpContextWrapper(System.Web.HttpContext.Current), route, controller);
        controller.ControllerContext = newContext;
        var actionPDF = controller.getPdf();
        HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);

        response.Content = new ByteArrayContent(actionPDF);        // new StreamContent(new FileStream(localFilePath, FileMode.Open, FileAccess.Read));
        response.Content.Headers.ContentDisposition          = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
        response.Content.Headers.ContentDisposition.FileName = "SamplePDF.PDF";
        response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
        return(response);
    }
        public async Task <IActionResult> Approve(string id)
        {
            var userId = await this.ordersService.ChangeStatusAsync(id, GlobalConstants.ApprovedStatus);

            var userEmail = await this.usersService.GetUserEmailByIdAsync(userId);

            var model = await this.ordersService.GetOrderDetailsAsync <OrderPDFViewModel>(id);

            model.User = await this.usersService.GetUserDataByOrderIdAsync <UserOrderDetailsViewModel>(id);

            model.DessertsInBasket = await this.dessertOrdersService.GetDessertsCurrentOrderAsync <DessertBasketViewModel>(id);

            var emailAttachments = PDFController.PreparePdfFile <OrderPDFViewModel>(model, GlobalConstants.GenerateOrderPdfViewName, GlobalConstants.GenerateOrderPdfViewName, this.ControllerContext);

            await this.emailSender.SendEmailAsync(
                GlobalConstants.CakeShopEmail,
                GlobalConstants.SystemName,
                userEmail,
                GlobalConstants.OrderConfirmationTitle,
                string.Format(GlobalConstants.OrderConfirmation),
                attachments : emailAttachments);

            return(this.RedirectToAction(nameof(this.GetOrderDetails), new { Id = id }));
        }
示例#3
0
 private static IEnumerable <PriceChangeItem> GetLastMonth(IEnumerable <PriceChangeItem> priceChangeHistory)
 {
     return(GetPriceList(priceChangeHistory, PDFController.FirstDayOfMonthFromDateTime(new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(-1)), PDFController.LastDayOfMonthFromDateTime(new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(-1)), DateTime.Now.Date));
 }
示例#4
0
 private static IEnumerable <PriceChangeItem> GetThisMonth(IEnumerable <PriceChangeItem> priceChangeHistory)
 {
     return(GetPriceList(priceChangeHistory, PDFController.FirstDayOfMonthFromDateTime(DateTime.Now), PDFController.LastDayOfMonthFromDateTime(DateTime.Now), DateTime.Now.Date));
 }