示例#1
0
文件: Esporta.cs 项目: fberga/Iren
        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 "MAIL":
                //carico i path di export
                List <UserConfigElement> cfgPaths = new List <UserConfigElement>();

                var cfgPath = Workbook.GetUsrConfigElement("pathExportFileFMS");
                cfgPaths.Add(cfgPath);
                cfgPath = Workbook.GetUsrConfigElement("pathExportFileXSD");
                cfgPaths.Add(cfgPath);
                cfgPath = Workbook.GetUsrConfigElement("pathExportFileRS");
                cfgPaths.Add(cfgPath);

                //verifico che siano tutti raggiungibili
                foreach (var p in cfgPaths)
                {
                    string path = PreparePath(p);
                    if (!Directory.Exists(path))
                    {
                        System.Windows.Forms.MessageBox.Show(p.Desc + " '" + path + "' non raggiungibile.", Simboli.NomeApplicazione + " - ERRORE!!!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);

                        return(false);
                    }
                }

                Globals.ThisWorkbook.Application.ScreenUpdating = false;

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

                Range rng = new Range(_defNamesMercato.GetRowByName(siglaEntita, "DATA"), 1, Date.GetOreGiorno(Workbook.DataAttiva) + 5, _defNamesMercato.GetLastCol());

                bool result = InviaMail(Workbook.Mercato, siglaEntita, rng);

                oldActiveWindow.Activate();

                Globals.ThisWorkbook.Application.ScreenUpdating = true;
                return(result);
            }

            return(true);
        }