Beispiel #1
0
        public void AggiornaPrevisione(object siglaEntita)
        {
            DateTime dataFine = Workbook.DataAttiva.AddDays(Struct.intervalloGiorni);
            int      mainRow  = _definedNames.GetRowByName(Date.SuffissoDATA1);
            int      mainCol  = 0;

            DataView entitaInformazione = new DataView(Workbook.Repository[DataBase.TAB.ENTITA_INFORMAZIONE]);

            entitaInformazione.RowFilter = "SiglaEntita = '" + siglaEntita + "' AND IdApplicazione = " + Workbook.IdApplicazione;
            string nomeFoglio = DefinedNames.GetSheetName(siglaEntita);

            Excel.Worksheet ws           = Workbook.WB.Sheets[nomeFoglio];
            DefinedNames    definedNames = new DefinedNames(nomeFoglio, DefinedNames.InitType.Naming);

            //copio nel main il valore dei totali
            foreach (DataRowView info in entitaInformazione)
            {
                int col = definedNames.GetFirstCol();
                int row = definedNames.GetRowByNameSuffissoData(siglaEntita, info["SiglaInformazione"], Date.SuffissoDATA1);

                Array rngTotali = ws.Range[Range.GetRange(row, col + 25, Struct.intervalloGiorni)].Value as Array;

                int i = 1;
                for (DateTime giorno = Workbook.DataAttiva; giorno < dataFine; giorno = giorno.AddDays(1))
                {
                    Range[] rngGiornoGas = Sheet.GetRangeGiornoGas(giorno, info, definedNames);

                    Array primoGiorno   = ws.Range[rngGiornoGas[0].ToString()].Value as Array;
                    Array secondoGiorno = ws.Range[rngGiornoGas[1].ToString()].Value as Array;

                    if (!(primoGiorno.OfType <double>().Any() || secondoGiorno.OfType <double>().Any()))
                    {
                        rngTotali.SetValue(null, i, 1);
                    }

                    i++;
                }

                mainCol = _definedNames.GetColFromName(siglaEntita);
                Excel.Range rngMain = Workbook.Main.Range[Range.GetRange(mainRow, mainCol, Struct.intervalloGiorni)];
                rngMain.Value = rngTotali;
            }
        }
Beispiel #2
0
        protected override bool EsportaAzioneInformazione(object siglaEntita, object siglaAzione, object desEntita, object desAzione, DateTime dataRif, string[] mercati)
        {
            DataView entitaAzione = Workbook.Repository[DataBase.TAB.ENTITA_AZIONE].DefaultView;

            entitaAzione.RowFilter = "SiglaEntita = '" + siglaEntita + "' AND SiglaAzione = '" + siglaAzione + "' AND IdApplicazione = " + Workbook.IdApplicazione;
            if (entitaAzione.Count == 0)
            {
                return(false);
            }

            switch (siglaAzione.ToString())
            {
            case "E_VDT":

                string pathStr = PreparePath(Workbook.GetUsrConfigElement("pathExportSisComTerna"));

                if (Directory.Exists(pathStr))
                {
                    if (!CreaVariazioneDatiTecniciXML(siglaEntita, pathStr))
                    {
                        return(false);
                    }
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("Il percorso '" + pathStr + "' non è raggiungibile.", Simboli.NomeApplicazione + " - ERRORE!!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);

                    return(false);
                }

                break;

            case "MAIL":
                Workbook.ScreenUpdating = false;
                string       nomeFoglio   = DefinedNames.GetSheetName(siglaEntita);
                DefinedNames definedNames = new DefinedNames(nomeFoglio, DefinedNames.InitType.Naming);

                var oldActiveWindow = Globals.ThisWorkbook.Application.ActiveWindow;
                Globals.ThisWorkbook.Worksheets[nomeFoglio].Activate();

                List <Range> export = new List <Range>();

                //titolo entità
                export.Add(new Range(definedNames.GetRowByNameSuffissoData(siglaEntita, "T", Date.SuffissoDATA1), definedNames.GetFirstCol() - 2).Extend(colOffset: 2 + Date.GetOreGiorno(Workbook.DataAttiva)));

                //data
                export.Add(new Range(Globals.ThisWorkbook.Application.ActiveWindow.SplitRow - 1, definedNames.GetFirstCol() - 2).Extend(colOffset: 2 + Date.GetOreGiorno(Workbook.DataAttiva)));

                //ora
                export.Add(new Range(Globals.ThisWorkbook.Application.ActiveWindow.SplitRow, definedNames.GetFirstCol() - 2).Extend(colOffset: 2 + Date.GetOreGiorno(Workbook.DataAttiva)));


                DataView entitaAzioneInformazione = Workbook.Repository[DataBase.TAB.ENTITA_AZIONE_INFORMAZIONE].DefaultView;
                entitaAzioneInformazione.RowFilter = "SiglaEntita = '" + siglaEntita + "' AND SiglaAzione = '" + siglaAzione + "' AND IdApplicazione = " + Workbook.IdApplicazione;
                foreach (DataRowView info in entitaAzioneInformazione)
                {
                    export.Add(new Range(definedNames.GetRowByNameSuffissoData(siglaEntita, info["SiglaInformazione"], Date.SuffissoDATA1), definedNames.GetFirstCol() - 2).Extend(colOffset: 2 + Date.GetOreGiorno(Workbook.DataAttiva)));
                }

                if (InviaMail(nomeFoglio, siglaEntita, export))
                {
                }

                oldActiveWindow.Activate();

                Workbook.ScreenUpdating = true;
                break;
            }
            return(true);
        }