async Task <string> InsertFile(string name, string container, byte[] file)
        {
            dynamic dynamicAttachment = new ExpandoObject();

            dynamicAttachment.File      = file;
            dynamicAttachment.Container = container;
            dynamicAttachment.Name      = name;
            dynamicAttachment.Route     = "";
            dynamicAttachment.FileUrl   = "";
            var result = await StorageHelperAzure.UploadFileToAzure(dynamicAttachment
                                                                    , Constants.AzureStorage.DefaultConnectionString);

            dynamicAttachment.FileUrl = result.FileUrl;
            return(dynamicAttachment.FileUrl);
        }
        public async Task <dynamic> GenerateAct(BE.ReportBE.Report report, int type)
        {
            var assignment  = _assignmentRepository.GetReportSupervisor(report.AssignmentId);
            var users       = _assignmentRepository.GetByPersonnelIdAssignment(report.AssignmentId).ToList();
            var usersClient = _assignmentRepository.GetContactByAssignemtnId(report.AssignmentId).ToList();

            var supervisor = users.Where(x => x.UserType == 1).FirstOrDefault();
            var technician = users.Where(x => x.UserType == 2).FirstOrDefault();
            var client     = usersClient.Where(x => x.Id == report.ContactId).FirstOrDefault();

            var sValue     = ConvertNumberToString(report.Value) + "\"";
            var pdfContent = string.Empty;

            if (type == 1)
            {
                pdfContent = Resources.Template.ActString.ToString();
            }
            else if (type == 2)
            {
                pdfContent = Resources.Template.ExeString.ToString();
            }

            CultureInfo ci = new CultureInfo("es-PE");

            var colorStyle = sValue + " " + strFill.Replace("@@strcolor", strColor);

            pdfContent = pdfContent
                         .Replace("@SocialName", assignment.CompanyName)
                         .Replace("@RUC", assignment.RUC)
                         .Replace("@Branch", assignment.CorpId)
                         .Replace("@Description", assignment.Description)

                         .Replace("@OT", assignment.WorkOrderNumber)
                         .Replace("@Brand", assignment.Machine.Brand)
                         .Replace("@Model", assignment.Machine.Model)
                         .Replace("@Technical", technician?.Name)
                         .Replace("@Horometro", assignment.Machine.TotalHoursFunction.ToString())
                         .Replace("@NumberSerie", assignment.Machine.SerialNumber)
                         .Replace("@DateDelivery", report.Date.ToString("dd-MM-yyyy", ci))
                         .Replace("@DateService", assignment.RequestDate.ToString("dd-MM-yyyy", ci))

                         .Replace("@Antecedent", report.Antecedent)
                         .Replace("@Work", report.Work)
                         .Replace("@Observations", report.Observation)
                         .Replace("@Recommendations", report.Replacement)
                         .Replace("@Client", client?.Name + " " + client?.LastName)
                         .Replace("@SignAct", report.UrlSign)
                         .Replace(sValue.ToString(), colorStyle)
                         //EXE
                         .Replace("@Supervisor", supervisor?.Name)
                         .Replace("@SPhone", supervisor?.Phone)
                         .Replace("@SMail", supervisor?.Email);

            var converter = new HtmlToPdfConverter();
            var pdfFile   = converter.GeneratePdf(pdfContent);
            var path      = System.IO.Path.GetTempPath();

            dynamic dynamicAttachment = new ExpandoObject();

            string pdfString = ""; string nameFile = "";

            nameFile = report.Id + ".pdf";
            if (type == 1)
            {
                pdfString = nameFile;
            }
            else if (type == 2)
            {
                pdfString = $"{path}\\" + nameFile;
                dynamicAttachment.Route = pdfString;
                System.IO.File.WriteAllBytes(pdfString, pdfFile);
            }

            string container = "act";

            dynamicAttachment.File      = pdfFile;
            dynamicAttachment.Container = container;
            dynamicAttachment.Name      = nameFile;
            dynamicAttachment.Route     = pdfString;
            dynamicAttachment.FileUrl   = "";

            var result = await StorageHelperAzure.UploadFileToAzure(dynamicAttachment
                                                                    , Constants.AzureStorage.DefaultConnectionString);

            dynamicAttachment.FileUrl = result.FileUrl;
            return(dynamicAttachment);
        }