public async Task <BaseResponse <AttiDto> > Get(Guid sedutaUId, ClientModeEnum mode, int page, int size)
        {
            try
            {
                var requestUrl = $"{apiUrl}/atti/view";
                var param      = new Dictionary <string, object> {
                    { "CLIENT_MODE", (int)mode }
                };
                var model = new BaseRequest <AttiDto>
                {
                    id    = sedutaUId,
                    page  = page,
                    size  = size,
                    param = param
                };
                var body = JsonConvert.SerializeObject(model);

                var lst = JsonConvert.DeserializeObject <BaseResponse <AttiDto> >(await Post(requestUrl, body, _token));

                return(lst);
            }
            catch (UnauthorizedAccessException ex)
            {
                Log.Error("GetAtti", ex);
                throw ex;
            }
            catch (Exception ex)
            {
                Log.Error("GetAtti", ex);
                throw ex;
            }
        }
Exemple #2
0
        public async Task <ActionResult> EsportaDOC(Guid id, OrdinamentoEnum ordine, ClientModeEnum mode)
        {
            try
            {
                var apiGateway = new ApiGateway(_Token);
                var file       = await apiGateway.Esporta.EsportaWORD(id, ordine, mode);

                return(Json(Convert.ToBase64String(file.Content), JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(Json(new ErrorResponse(e.Message), JsonRequestBehavior.AllowGet));
            }
        }
Exemple #3
0
        public async Task <ActionResult> EsportaXLS(Guid id, OrdinamentoEnum ordine = OrdinamentoEnum.Default,
                                                    ClientModeEnum mode             = ClientModeEnum.GRUPPI,
                                                    bool is_report = false)
        {
            try
            {
                var apiGateway = new ApiGateway(_Token);
                var file       = await apiGateway.Esporta.EsportaXLS(id, ordine, mode, is_report);

                return(Json(Convert.ToBase64String(file.Content), JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                Log.Error("EsportaXLS", e);
                return(Json(new ErrorResponse(e.Message), JsonRequestBehavior.AllowGet));
            }
        }
Exemple #4
0
        public async Task <ActionResult> RiepilogoEmendamenti(Guid id, ClientModeEnum mode = ClientModeEnum.GRUPPI,
                                                              OrdinamentoEnum ordine       = OrdinamentoEnum.Presentazione, ViewModeEnum view = ViewModeEnum.GRID, int page = 1,
                                                              int size = 50)
        {
            var apiGateway = new ApiGateway(_Token);
            EmendamentiViewModel model;
            var view_require_my_sign = Convert.ToBoolean(Request.QueryString["require_my_sign"]);

            if (Session["RicaricaFiltri"] is bool)
            {
                if (Convert.ToBoolean(Session["RicaricaFiltri"]))
                {
                    Session["RicaricaFiltri"] = false; //reset sessione
                    if (Session["RiepilogoEmendamenti"] is EmendamentiViewModel old_model)
                    {
                        try
                        {
                            if (HttpContext.User.IsInRole(RuoliExt.Amministratore_PEM) ||
                                HttpContext.User.IsInRole(RuoliExt.Segreteria_Assemblea))
                            {
                                return(View("RiepilogoEM_Admin", old_model));
                            }

                            return(View("RiepilogoEM", old_model));
                        }
                        catch (Exception e)
                        {
                            Session["RiepilogoEmendamenti"] = null;
                        }
                    }
                }
            }

            SetCache(page, size, ordine, view);

            var composeModel = await ComposeModel(id, mode, ordine, view, page, size, view_require_my_sign);

            Session["RiepilogoEmendamenti"] = composeModel;

            if (HttpContext.User.IsInRole(RuoliExt.Amministratore_PEM) ||
                HttpContext.User.IsInRole(RuoliExt.Segreteria_Assemblea))
            {
                return(View("RiepilogoEM_Admin", composeModel));
            }
            return(View("RiepilogoEM", composeModel));
        }
Exemple #5
0
        public async Task <ActionResult> RiepilogoAtti(Guid id, ClientModeEnum mode = ClientModeEnum.GRUPPI,
                                                       int page = 1, int size = 50)
        {
            var sedutaInDb = await ApiGateway.GetSeduta(id);

            var model = new AttiViewModel
            {
                Data = await ApiGateway.GetAtti(id, mode, page, size), Seduta = sedutaInDb
            };

            if (HttpContext.User.IsInRole(RuoliEnum.Amministratore_PEM) ||
                HttpContext.User.IsInRole(RuoliEnum.Segreteria_Assemblea))
            {
                return(View("RiepilogoAtti_Admin", model));
            }

            return(View("RiepilogoAtti", model));
        }
Exemple #6
0
        public async Task <ActionResult> RiepilogoAtti(Guid id, ClientModeEnum mode = ClientModeEnum.GRUPPI,
                                                       int page = 1, int size = 50)
        {
            Session["RiepilogoEmendamenti"] = null;
            var apiGateway = new ApiGateway(_Token);
            var sedutaInDb = await apiGateway.Sedute.Get(id);

            var model = new AttiViewModel
            {
                Data = await apiGateway.Atti.Get(id, mode, page, size), Seduta = sedutaInDb
            };

            if (HttpContext.User.IsInRole(RuoliExt.Amministratore_PEM) ||
                HttpContext.User.IsInRole(RuoliExt.Segreteria_Assemblea))
            {
                return(View("RiepilogoAtti_Admin", model));
            }

            return(View("RiepilogoAtti", model));
        }
        public async Task <ActionResult> RiepilogoEmendamenti(Guid id, ClientModeEnum mode,
                                                              OrdinamentoEnum ordine = OrdinamentoEnum.Presentazione, int page = 1, int size = 50)
        {
            HttpContext.Cache.Insert(
                "OrdinamentoEM",
                (int)ordine,
                null,
                DateTime.Now.AddMinutes(2),
                Cache.NoSlidingExpiration,
                CacheItemPriority.NotRemovable,
                (key, value, reason) => { Console.WriteLine("Cache removed"); }
                );

            var model = await ApiGateway.GetEmendamenti(id, mode, ordine, page, size);

            if (HttpContext.User.IsInRole(RuoliEnum.Amministratore_PEM) ||
                HttpContext.User.IsInRole(RuoliEnum.Segreteria_Assemblea))
            {
                //foreach (var emendamentiDto in model.Data.Results)
                //    emendamentiDto.BodyEM = await ApiGateway.GetBodyEM(emendamentiDto.UIDEM, TemplateTypeEnum.PDF);

                return(View("RiepilogoEM_Admin", model));
            }

            //foreach (var emendamentiDto in model.Data.Results)
            //    if (emendamentiDto.STATI_EM.IDStato <= (int) StatiEnum.Depositato)
            //    {
            //        if (emendamentiDto.ConteggioFirme > 0)
            //            emendamentiDto.Firmatari = await Utility.GetFirmatariEM(
            //                await ApiGateway.GetFirmatari(emendamentiDto.UIDEM, FirmeTipoEnum.TUTTE),
            //                CurrentUser.UID_persona, FirmeTipoEnum.TUTTE, true);

            //        emendamentiDto.Destinatari =
            //            await Utility.GetDestinatariNotifica(await ApiGateway.GetInvitati(emendamentiDto.UIDEM));
            //    }

            return(View("RiepilogoEM", model));
        }
        public static async Task <EmendamentiViewModel> Get(Guid attoUId, ClientModeEnum mode,
                                                            OrdinamentoEnum ordine,
                                                            int page, int size)
        {
            try
            {
                var requestUrl = $"{apiUrl}/emendamenti/view";

                var param = new Dictionary <string, object> {
                    { "CLIENT_MODE", (int)mode }
                };

                var model = new BaseRequest <AttiDto>
                {
                    id     = attoUId,
                    page   = page,
                    size   = size,
                    ordine = ordine,
                    param  = param
                };
                var body = JsonConvert.SerializeObject(model);

                var lst = JsonConvert.DeserializeObject <EmendamentiViewModel>(await Post(requestUrl, body));

                return(lst);
            }
            catch (UnauthorizedAccessException ex)
            {
                Log.Error("GetEmendamenti", ex);
                throw ex;
            }
            catch (Exception ex)
            {
                Log.Error("GetEmendamenti", ex);
                throw ex;
            }
        }
        public async Task <FileResponse> EsportaXLS(Guid attoUId, OrdinamentoEnum ordine, ClientModeEnum mode,
                                                    bool is_report = false)
        {
            try
            {
                var requestUrl =
                    $"{apiUrl}/emendamenti/esporta-griglia-xls?id={attoUId}&ordine={ordine}&mode={mode}&is_report={is_report}";

                var lst = await GetFile(requestUrl, _token);

                return(lst);
            }
            catch (UnauthorizedAccessException ex)
            {
                Log.Error("EsportaXLS", ex);
                throw ex;
            }
            catch (Exception ex)
            {
                Log.Error("EsportaXLS", ex);
                throw ex;
            }
        }
        public async Task <HttpResponseMessage> EsportaGrigliaExcel(Guid id, OrdinamentoEnum ordine, ClientModeEnum mode, PersonaDto persona)
        {
            try
            {
                var FilePathComplete = GetLocalPath("xlsx");

                var atto = await _unitOfWork.Atti.Get(id);


                IWorkbook workbook   = new XSSFWorkbook();
                var       excelSheet = workbook.CreateSheet($"{atto.TIPI_ATTO.Tipo_Atto} {atto.NAtto}");

                var row = excelSheet.CreateRow(0);
                SetColumnValue(ref row, "Ordine");
                if (persona.CurrentRole == RuoliIntEnum.Amministratore_PEM)
                {
                    SetColumnValue(ref row, "IDEM");
                    SetColumnValue(ref row, "Atto");
                }

                SetColumnValue(ref row, "Numero EM");
                SetColumnValue(ref row, "Data Deposito");
                SetColumnValue(ref row, "Stato");
                SetColumnValue(ref row, "Tipo");
                SetColumnValue(ref row, "Parte");
                SetColumnValue(ref row, "Articolo");
                SetColumnValue(ref row, "Comma");
                SetColumnValue(ref row, "Lettera");
                SetColumnValue(ref row, "Titolo");
                SetColumnValue(ref row, "Capo");

                if (atto.VIS_Mis_Prog)
                {
                    SetColumnValue(ref row, "Missione");
                    SetColumnValue(ref row, "Programma");
                    SetColumnValue(ref row, "TitoloB");
                }

                SetColumnValue(ref row, "Proponente");
                SetColumnValue(ref row, "Area Politica");
                SetColumnValue(ref row, "Firmatari");
                SetColumnValue(ref row, "Firmatari dopo deposito");
                SetColumnValue(ref row, "LinkEM");

                var personeInDb = await _unitOfWork.Persone.GetAll();

                var personeInDbLight = personeInDb.Select(Mapper.Map <View_UTENTI, PersonaLightDto>).ToList();
                var emList           = await _logicEm.ScaricaEmendamenti(id, ordine, mode, persona, personeInDbLight, false, true);

                var totalProcessTime = 0f;
                foreach (var em in emList)
                {
                    var startTimer = DateTime.Now;
                    var rowEm      = excelSheet.CreateRow(excelSheet.LastRowNum + 1);

                    if (ordine == OrdinamentoEnum.Presentazione)
                    {
                        SetColumnValue(ref rowEm, em.OrdinePresentazione.ToString());
                    }
                    else if (ordine == OrdinamentoEnum.Votazione)
                    {
                        SetColumnValue(ref rowEm, em.OrdineVotazione.ToString());
                    }

                    if (persona.CurrentRole == RuoliIntEnum.Amministratore_PEM)
                    {
                        SetColumnValue(ref rowEm, em.UIDEM.ToString());
                        var legislatura = await _unitOfWork.Legislature.Get(atto.SEDUTE.id_legislatura);

                        SetColumnValue(ref rowEm,
                                       $"{atto.TIPI_ATTO.Tipo_Atto}-{atto.NAtto}-{legislatura.num_legislatura}");
                    }

                    SetColumnValue(ref rowEm, em.N_EM);
                    SetColumnValue(ref rowEm, em.DataDeposito);
                    SetColumnValue(ref rowEm, persona.CurrentRole == RuoliIntEnum.Amministratore_PEM
                        ? $"{em.STATI_EM.IDStato}-{em.STATI_EM.Stato}"
                        : em.STATI_EM.Stato);

                    SetColumnValue(ref rowEm, persona.CurrentRole == RuoliIntEnum.Amministratore_PEM
                        ? $"{em.TIPI_EM.IDTipo_EM}-{em.TIPI_EM.Tipo_EM}"
                        : em.TIPI_EM.Tipo_EM);

                    SetColumnValue(ref rowEm, persona.CurrentRole == RuoliIntEnum.Amministratore_PEM
                        ? $"{em.IDParte}-{em.PARTI_TESTO.Parte}"
                        : em.PARTI_TESTO.Parte);

                    SetColumnValue(ref rowEm,
                                   em.UIDArticolo.HasValue && em.UIDArticolo.Value != Guid.Empty ? em.ARTICOLI.Articolo : "");
                    SetColumnValue(ref rowEm,
                                   em.UIDComma.HasValue && em.UIDComma.Value != Guid.Empty ? em.COMMI.Comma : "");
                    SetColumnValue(ref rowEm,
                                   em.UIDLettera.HasValue && em.UIDLettera.Value != Guid.Empty ? em.LETTERE.Lettera : em.NLettera);
                    SetColumnValue(ref rowEm, em.NTitolo);
                    SetColumnValue(ref rowEm, em.NCapo);

                    if (atto.VIS_Mis_Prog)
                    {
                        SetColumnValue(ref rowEm, em.NMissione.ToString());
                        SetColumnValue(ref rowEm, em.NProgramma.ToString());
                        SetColumnValue(ref rowEm, em.NTitoloB.ToString());
                    }

                    SetColumnValue(ref rowEm, persona.CurrentRole == RuoliIntEnum.Amministratore_PEM
                        ? $"{em.PersonaProponente.UID_persona}-{em.PersonaProponente.DisplayName}"
                        : em.PersonaProponente.DisplayName);
                    SetColumnValue(ref rowEm, "");

                    if (!string.IsNullOrEmpty(em.DataDeposito))
                    {
                        var firme = await _logicFirme.GetFirme((EM)em, FirmeTipoEnum.TUTTE);

                        var firmeDto = firme.ToList();

                        var firmatari_opendata_ante = "--";
                        try
                        {
                            if (firmeDto.Any(f =>
                                             f.Timestamp < Convert.ToDateTime(em.DataDeposito)))
                            {
                                firmatari_opendata_ante = await _logicEm.GetFirmatariEM_OPENDATA(firmeDto.Where(f =>
                                                                                                                f.Timestamp < Convert.ToDateTime(em.DataDeposito)),
                                                                                                 persona.CurrentRole, personeInDbLight);
                            }
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e);
                        }

                        var firmatari_opendata_post = "--";
                        try
                        {
                            if (firmeDto.Any(f =>
                                             f.Timestamp > Convert.ToDateTime(em.DataDeposito)))
                            {
                                firmatari_opendata_post = await _logicEm.GetFirmatariEM_OPENDATA(firmeDto.Where(f =>
                                                                                                                f.Timestamp > Convert.ToDateTime(em.DataDeposito)),
                                                                                                 persona.CurrentRole, personeInDbLight);
                            }
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e);
                        }

                        SetColumnValue(ref rowEm, firmatari_opendata_ante);
                        SetColumnValue(ref rowEm, firmatari_opendata_post);
                    }
                    else
                    {
                        SetColumnValue(ref rowEm, "--");
                        SetColumnValue(ref rowEm, "--");
                    }

                    SetColumnValue(ref rowEm, $"{AppSettingsConfiguration.urlPEM_ViewEM}{em.UID_QRCode}");
                    var spentTime = Math.Round((DateTime.Now - startTimer).TotalSeconds, 2);
                    totalProcessTime += (float)spentTime;
                }
                Log.Debug($"EsportaGrigliaXLS: Compilazione XLS eseguita in {totalProcessTime} s");

                Console.WriteLine($"Excel row count: {excelSheet.LastRowNum}");
                return(await Response(FilePathComplete, workbook));
            }
            catch (Exception e)
            {
                Log.Error("Logic - EsportaGrigliaXLS", e);
                throw e;
            }
        }
        public async Task <HttpResponseMessage> EsportaGrigliaReportExcel(Guid id, OrdinamentoEnum ordine, ClientModeEnum mode, PersonaDto persona)
        {
            try
            {
                var FilePathComplete = GetLocalPath("xlsx");

                IWorkbook workbook = new XSSFWorkbook();
                var       style    = workbook.CreateCellStyle();
                style.FillForegroundColor = HSSFColor.Grey25Percent.Index;
                style.FillPattern         = FillPattern.SolidForeground;
                var styleReport = workbook.CreateCellStyle();
                styleReport.FillForegroundColor = HSSFColor.LightGreen.Index;
                styleReport.FillPattern         = FillPattern.SolidForeground;
                styleReport.Alignment           = HorizontalAlignment.Center;
                var personeInDb = await _unitOfWork.Persone.GetAll();

                var personeInDbLight = personeInDb.Select(Mapper.Map <View_UTENTI, PersonaLightDto>).ToList();
                var emList           = await _logicEm.ScaricaEmendamenti(id, ordine, mode, persona, personeInDbLight);

                var uolaSheet =
                    await NewSheet(
                        workbook.CreateSheet(
                            nameof(ReportType.UOLA)),
                        id,
                        ReportType.UOLA,
                        emList
                        .OrderBy(em => em.OrdineVotazione)
                        .ThenBy(em => em.Rif_UIDEM)
                        .ThenBy(em => em.IDStato),
                        style,
                        styleReport);

                var pcrSheet = await NewSheet(workbook.CreateSheet(nameof(ReportType.PCR)), id, ReportType.PCR, emList
                                              .OrderBy(em => em.OrdineVotazione)
                                              .ThenBy(em => em.Rif_UIDEM)
                                              .ThenBy(em => em.IDStato),
                                              style,
                                              styleReport);

                var progSheet = await NewSheet(workbook.CreateSheet(nameof(ReportType.PROGRESSIVO)), id,
                                               ReportType.PROGRESSIVO, emList.OrderBy(em => em.Rif_UIDEM)
                                               .ThenBy(em => em.OrdinePresentazione),
                                               style,
                                               styleReport);

                return(await Response(FilePathComplete, workbook));
            }
            catch (Exception e)
            {
                Log.Error("Logic - EsportaGrigliaReportXLS", e);
                throw e;
            }
        }
        private async Task <string> ComposeWordTable(Guid attoUID, OrdinamentoEnum ordine, ClientModeEnum mode, PersonaDto persona)
        {
            var personeInDb = await _unitOfWork.Persone.GetAll();

            var personeInDbLight = personeInDb.Select(Mapper.Map <View_UTENTI, PersonaLightDto>).ToList();
            var emList           = await _logicEm.ScaricaEmendamenti(attoUID, ordine, mode, persona, personeInDbLight, open_data_enabled : false, true);

            var body = "<html>";

            body += "<body style='page-orientation: landscape'>";
            body += "<table>";

            body += "<thead>";
            body += "<tr>";
            body += ComposeHeaderColumn("Ordine");
            body += ComposeHeaderColumn("EM/SUB");
            body += ComposeHeaderColumn("Testo");
            body += ComposeHeaderColumn("Relazione");
            body += ComposeHeaderColumn("Proponente");
            body += ComposeHeaderColumn("Stato");
            body += "</tr>";
            body += "</thead>";

            body += "<tbody>";
            body  = emList.Aggregate(body, (current, em) => current + ComposeBodyRow(em));
            body += "</tbody>";

            body += "</table>";
            body += "</body>";
            body += "</html>";
            return(body);
        }
        public async Task <HttpResponseMessage> HTMLtoWORD(Guid attoUId, OrdinamentoEnum ordine, ClientModeEnum mode, PersonaDto persona)
        {
            try
            {
                var FilePathComplete = GetLocalPath("docx");

                using (var generatedDocument = new MemoryStream())
                {
                    using (var package =
                               WordprocessingDocument.Create(generatedDocument, WordprocessingDocumentType.Document))
                    {
                        var mainPart = package.MainDocumentPart;
                        if (mainPart == null)
                        {
                            mainPart = package.AddMainDocumentPart();
                            new Document(new Body()).Save(mainPart);
                        }

                        var converter = new HtmlConverter(mainPart);
                        converter.ParseHtml(await ComposeWordTable(attoUId, ordine, mode, persona));

                        mainPart.Document.Save();
                    }

                    File.WriteAllBytes(FilePathComplete, generatedDocument.ToArray());
                    var result = new HttpResponseMessage(HttpStatusCode.OK)
                    {
                        Content = new ByteArrayContent(generatedDocument.ToArray())
                    };
                    result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
                    {
                        FileName = Path.GetFileName(FilePathComplete)
                    };
                    result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/doc");

                    return(result);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
        public async Task <IHttpActionResult> EsportaGrigliaExcel(Guid id, OrdinamentoEnum ordine, ClientModeEnum mode,
                                                                  bool is_report = false)
        {
            try
            {
                var session = await GetSession();

                if (session._currentRole != RuoliIntEnum.Amministratore_PEM &&
                    session._currentRole != RuoliIntEnum.Segreteria_Assemblea)
                {
                    if (is_report)
                    {
                        return(BadRequest("Operazione non eseguibile per il ruolo assegnato"));
                    }
                }

                var persona = await _logicPersone.GetPersona(session);

                if (is_report)
                {
                    return(ResponseMessage(await _logicEsporta.EsportaGrigliaReportExcel(id, ordine, mode, persona)));
                }

                var file = await _logicEsporta.EsportaGrigliaExcel(id, ordine, mode, persona);

                return(ResponseMessage(file));
            }
            catch (Exception e)
            {
                Log.Error("EsportaGrigliaXLS", e);
                return(ErrorHandler(e));
            }
        }
Exemple #15
0
        private async Task <EmendamentiViewModel> ComposeModel(Guid id, ClientModeEnum mode,
                                                               OrdinamentoEnum ordine, ViewModeEnum view, int page,
                                                               int size, bool view_require_my_sign)
        {
            try
            {
                var apiGateway = new ApiGateway(_Token);
                EmendamentiViewModel model;
                if (view_require_my_sign == false)
                {
                    model = await apiGateway.Emendamento.Get(id, mode, ordine, page, size);
                }
                else
                {
                    model = await apiGateway.Emendamento.Get_RichiestaPropriaFirma(id, mode, ordine, page, size);
                }
                model.ViewMode = view;
                if (view == ViewModeEnum.PREVIEW)
                {
                    foreach (var emendamentiDto in model.Data.Results)
                    {
                        emendamentiDto.BodyEM =
                            await apiGateway.Emendamento.GetBody(emendamentiDto.UIDEM, TemplateTypeEnum.HTML);
                    }
                }

                if (HttpContext.User.IsInRole(RuoliExt.Amministratore_PEM) ||
                    HttpContext.User.IsInRole(RuoliExt.Segreteria_Assemblea))
                {
                    return(model);
                }

                if (mode == ClientModeEnum.GRUPPI)
                {
                    foreach (var emendamentiDto in model.Data.Results)
                    {
                        if (emendamentiDto.IDStato <= (int)StatiEnum.Depositato)
                        {
                            if (emendamentiDto.ConteggioFirme > 0)
                            {
                                emendamentiDto.Firmatari = await Utility.GetFirmatariEM(
                                    await apiGateway.Emendamento.GetFirmatari(emendamentiDto.UIDEM,
                                                                              FirmeTipoEnum.TUTTE),
                                    _CurrentUser.UID_persona, FirmeTipoEnum.TUTTE, _Token, true);
                            }

                            emendamentiDto.Destinatari =
                                await Utility.GetDestinatariNotifica(
                                    await apiGateway.Emendamento.GetInvitati(emendamentiDto.UIDEM), _Token);
                        }
                    }
                }

                return(model);
            }
            catch (Exception e)
            {
                Log.Error("ComposeModel", e);
                throw;
            }
        }
        public static async Task <FileResponse> EsportaWORD(Guid attoUId, OrdinamentoEnum ordine, ClientModeEnum mode)
        {
            try
            {
                var requestUrl = $"{apiUrl}/emendamenti/esporta-griglia-doc?id={attoUId}&ordine={ordine}&mode={mode}";

                var lst = await GetFile(requestUrl);

                return(lst);
            }
            catch (UnauthorizedAccessException ex)
            {
                Log.Error("EsportaWORD", ex);
                throw ex;
            }
            catch (Exception ex)
            {
                Log.Error("EsportaWORD", ex);
                throw ex;
            }
        }
        public async Task <IHttpActionResult> EsportaGrigliaWord(Guid id, OrdinamentoEnum ordine, ClientModeEnum mode)
        {
            try
            {
                var session = await GetSession();

                var persona = await _logicPersone.GetPersona(session);

                var response =
                    ResponseMessage(await _logicEsporta.HTMLtoWORD(id, ordine, mode, persona));

                return(response);
            }
            catch (Exception e)
            {
                Log.Error("EsportaGrigliaDOC", e);
                return(ErrorHandler(e));
            }
        }