public static ObjectDll CastData(RootNewDocumentSet data) { ObjectDll objectDll = new ObjectDll(); //TODO: revisar el envio del items file (Pdf name, y pdf base 64) foreach (Item item in data.NewDocumentSet.DocumentSet.DocumentSetItems.Item) { objectDll.pdfFileName = item.ItemName; objectDll.pdfB64 = item.ItemPDFContentB64; } objectDll.senderEmail = data.NewDocumentSet.DocumentSet.DocumentSetSender; objectDll.authToken = data.AuthToken.Token; objectDll.docSetName = data.NewDocumentSet.DocumentSet.DocumentSetName; objectDll.daysRemainder = data.NewDocumentSet.DocumentSet.DocumentSetReminder; objectDll.daysExpiration = data.NewDocumentSet.DocumentSet.DocumentSetExpirationDate; List <Destinatario> destinatarios = new List <Destinatario>(); List <Recipient> recipients = data.NewDocumentSet.DocumentSet.DocumentSetRecipients.Recipient; List <ItemRecipientAction> itemRecipients = data.NewDocumentSet.DocumentSet.DocumentSetActions.ItemRecipientAction; for (int i = 0; i < recipients.Count; i++) { destinatarios.Add( new Destinatario() { Nombre = recipients[i].RecipientName, Cedula = recipients[i].RecipientIdCard, Telefono = recipients[i].RecipientCellPhone, Email = recipients[i].RecipientMail, MetodoFirma = (MetodoFirma)Enum.Parse(typeof(MetodoFirma), itemRecipients[i].RequestedAction), InfoRecuadroFirma = new RecuadroFirma() { Pagina = itemRecipients[i].WidgetPosition.Page, MedidasRecuadro = new MedidasRecuadroFirma() { PosicionX = itemRecipients[i].WidgetPosition.PositionX, PosicionY = itemRecipients[i].WidgetPosition.PositionY, Ancho = itemRecipients[i].WidgetPosition.Width, Alto = itemRecipients[i].WidgetPosition.Height, } } } ); } objectDll.destinatarios = destinatarios; return(objectDll); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); try { string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); RootNewDocumentSet data = JsonConvert.DeserializeObject <RootNewDocumentSet>(requestBody); if (data != null) { ObjectDll objectDll = Helper.CastData(data); string mensaje = ""; string docSetId = "1"; Response response = new Response(); //bool res = true; bool res = FirmaElectronicaOnBase.FirmaElectronica.NewDocumentSet(objectDll.senderEmail, objectDll.authToken, objectDll.docSetName, objectDll.daysRemainder, objectDll.daysExpiration, objectDll.pdfFileName, objectDll.pdfB64, objectDll.destinatarios, out mensaje, out docSetId); if (res) { response.exitoso = res; response.docSetId = docSetId; response.mensaje = "Se envió el documento a firmar"; return((ActionResult) new OkObjectResult(response)); } else { response.exitoso = res; response.docSetId = docSetId; response.mensaje = "No se envió el documento a firmar"; return((ActionResult) new OkObjectResult(response)); } } else { return(new BadRequestObjectResult("Por favor ingrese información en el body")); } } catch (Exception ex) { return(new BadRequestObjectResult(ex)); } }