Ejemplo n.º 1
0
        public async Task <IActionResult> PartialUploadCustomPdf()
        {
            var    dict       = HttpUtility.ParseQueryString(Request.Form["quoteModel"][0]);
            string json       = JsonConvert.SerializeObject(dict.Cast <string>().ToDictionary(k => k, v => dict[v]));
            var    quoteModel = JsonConvert.DeserializeObject <QuotesViewModel>(json);
            var    pdfFile    = Request.Form.Files[0];

            if (Path.GetExtension(pdfFile.FileName).ToLower() == ".pdf" &&
                pdfFile.Length <= (20 * 1048576))
            {
                string fileName = quoteModel.JobNumber + "-custom-" + Guid.NewGuid().ToString() + ".pdf";
                await _azureStorageService.UploadDocAsync(pdfFile.OpenReadStream(), fileName);

                quoteModel.PdfUrl = fileName;
                await _service.SaveCustomPdfAsync(quoteModel);

                var result = await _service.GetQuoteByIdAsync(quoteModel.Id);

                return(PartialView("_inclusionVariationPartial", result));
            }
            else
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Json("Error .. file type should be pdf and size less than 20M .."));
            }
        }