Esempio n. 1
0
        public async Task <IActionResult> GetDay()
        {
            var otpContext = OtpContext.FromPrincipal(User);

            IOperationResult result = null;

            if (otpContext.TryParse <DayOtpModel>(out var model))
            {
                Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture = model.Culture.ToCultureInfo();

                result = await _executor
                         .Add <GetDaysOperation, GetDaysOperation.Input>(() => new GetDaysOperation.Input(model.Date, model.Date, User.GetTenantId()))
                         .Add <ParseTemplateOperation, List <Day>, ParseTemplateOperation.Input>(days => new ParseTemplateOperation.Input
                {
                    Model       = days.FirstOrDefault(),
                    TemplateKey = "Day"
                })
                         .Add <HtmlToPdfOperation, ParseTemplateOperation.Output, HtmlToPdfOperation.Input>(last => new HtmlToPdfOperation.Input(last.Result))
                         .Execute();
            }

            if (result?.ResultType == OperationResultType.Succeeded)
            {
                return(new FileContentResult(result.GetResult <HtmlToPdfOperation.Output>().Pdf, "application/pdf"));
            }
            else
            {
                string htmlResult;
                if (_hostingEnvironment.IsDevelopment())
                {
                    htmlResult = result.Error?.ToString();
                }
                else
                {
                    htmlResult = "Error";
                }
                return(new OkObjectResult(htmlResult));
            }
        }
Esempio n. 2
0
        public static void SetJournal(string sTrackingId, IOperation oOperacion, IOperationResult oResult)
        {
            using (JournalContext dbConText = new JournalContext())
            {
                Journal oJournal = new Journal()
                {
                    TrackingId  = sTrackingId,
                    Calculation = string.Format("{0}{1}", oOperacion.GetCalculation(), oResult.GetResult()),
                    Operation   = oOperacion.GetOperation(),
                    Date        = DateTime.Now
                };

                dbConText.Journal.Add(oJournal);
                dbConText.SaveChanges();
            }
        }