Exemple #1
0
        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));
            }
        }