public async Task OnGetAsync()
        {
            Anagrafica = await _context.GetAnagrafica();

            if (Anagrafica == null)
            {
                Anagrafica = new AnagraficaFilarmonica();
            }
            if (HybridSupport.IsElectronActive)
            {
                Electron.IpcMain.RemoveAllListeners("export-excel");
                Electron.IpcMain.On("export-excel", async(args) => await ExportExcelAction(args));
            }
        }
        public async Task <IActionResult> OnPostAsync()
        {
            ClearMessaggioPerUtente();
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var model = await _context.GetAnagrafica();

            bool esiste = true;

            if (model == null)
            {
                esiste = false;
                model  = new AnagraficaFilarmonica();
            }
            if (await TryUpdateModelAsync <AnagraficaFilarmonica>(
                    model,
                    "Anagrafica",
                    a => a.Email,
                    a => a.RagioneSociale,
                    a => a.Citta,
                    a => a.Cap,
                    a => a.Indirizzo,
                    a => a.Tel))
            {
                if (!esiste)
                {
                    _context.Anagrafica.Add(model);
                }


                await _context.SaveChangesAsync();
            }
            MsgSuccess = "Salvato con successo!";
            return(Page());
        }
Ejemplo n.º 3
0
        public void AttachExcelExportAction(IWebHostEnvironment env, AnagraficaFilarmonica ana = null)
        {
            if (HybridSupport.IsElectronActive)
            {
                Electron.IpcMain.RemoveAllListeners("export-excel-calcola");
                Electron.IpcMain.On("export-excel-calcola", async(args) =>
                {
                    BrowserWindow mainWindow = Electron.WindowManager.BrowserWindows.First();

                    var saveOptions = new SaveDialogOptions
                    {
                        Title       = "Save a Excel File",
                        DefaultPath = await Electron.App.GetPathAsync(PathName.Documents),
                        Filters     = new FileFilter[]
                        {
                            new FileFilter {
                                Name = "xlsx", Extensions = new string[] { "xlsx" }
                            }
                        }
                    };


                    string path = path = await Electron.Dialog.ShowSaveDialogAsync(mainWindow, saveOptions);

                    if (string.IsNullOrEmpty(path))
                    {
                        return;
                    }

                    try
                    {
                        var modelloLista = new CalcoloListaRimborsiVM
                        {
                            Cognome     = DatiCalcolo.Cognome,
                            Descrizione = DatiCalcolo.Descrizione,
                            Nome        = DatiCalcolo.Nome,
                            Rimborsi    = new List <CalcoloRimborsoVM> {
                                DatiCalcolo
                            },
                            SocioID      = DatiCalcolo.SocioID,
                            TotaleDovuto = DatiCalcolo.TotaleDovuto,
                            TotaleReale  = DatiCalcolo.TotaleReale
                        };
                        IExcelModel m = new RimborsoKmExcel(env, modelloLista)
                        {
                            Intestazione1 = ana?.RagioneSociale ?? "Società",
                            Intestazione2 = ana?.Citta
                        };
                        await m.SaveAs(path);
                    }
                    catch (Exception ex)
                    {
                        string message = ex.Message;
#if DEBUG
                        message = ex.ToString();
#endif
                        Electron.Dialog.ShowErrorBox("Errore", $"Fallita creazione del file. {message}");
                    }
                });
            }
        }