コード例 #1
0
ファイル: Ottimizzatore.cs プロジェクト: fberga/Iren
        /// <summary>
        /// Aggiunge gli adjust necessari all'entità da ottimizzare.
        /// </summary>
        /// <param name="siglaEntita">Entità da ottimizzare.</param>
        protected virtual void AddAdjust(object siglaEntita)
        {
            _entitaInformazioni.RowFilter = "SiglaEntita = '" + siglaEntita + "' AND WB <> '0' AND IdApplicazione = " + Workbook.IdApplicazione;
            foreach (DataRowView info in _entitaInformazioni)
            {
                object siglaEntitaInfo = info["SiglaEntitaRif"] is DBNull ? info["SiglaEntita"] : info["SiglaEntitaRif"];
                Range  rng             = _definedNames.Get(siglaEntitaInfo, info["SiglaInformazione"], Date.SuffissoDATA1).Extend(colOffset: Date.GetOreIntervallo(_dataFine));
                Workbook.Application.Run("wbAdjust", "'" + _sheet + "'!" + rng.ToString());

                for (DateTime giorno = Workbook.DataAttiva; giorno <= _dataFine; giorno = giorno.AddDays(1))
                {
                    Range rng1 = new Range(rng.StartRow, _definedNames.GetColFromDate(Date.GetSuffissoData(giorno), Date.GetSuffissoOra(Date.GetOreGiorno(giorno))));
                    Workbook.Sheets[_sheet].Range[rng1.ToString()].Borders[Excel.XlBordersIndex.xlEdgeRight].Weight = Excel.XlBorderWeight.xlMedium;
                }

                if (info["WB"].Equals("2"))
                {
                    Workbook.Application.Run("WBFREE", DefinedNames.GetName(siglaEntitaInfo, info["SiglaInformazione"]), "'" + _sheet + "'!" + rng.ToString());
                }
                else if (info["WB"].Equals("3"))
                {
                    Workbook.Application.Run("WBBIN", DefinedNames.GetName(siglaEntitaInfo, info["SiglaInformazione"]), "'" + _sheet + "'!" + rng.ToString());
                }
            }
        }
コード例 #2
0
ファイル: Ottimizzatore.cs プロジェクト: fberga/Iren
        /// <summary>
        /// Aggiunge i vincoli necessari all'entità da ottimizzare.
        /// </summary>
        /// <param name="siglaEntita">Entità da ottimizzare.</param>
        protected virtual void AddConstraints(object siglaEntita)
        {
            _entitaInformazioni.RowFilter = "SiglaEntita = '" + siglaEntita + "' AND SiglaTipologiaInformazione = 'VINCOLO' AND IdApplicazione = " + Workbook.IdApplicazione;

            foreach (DataRowView info in _entitaInformazioni)
            {
                object siglaEntitaInfo = info["SiglaEntitaRif"] is DBNull ? info["SiglaEntita"] : info["SiglaEntitaRif"];
                Workbook.WB.Names.Item("WBOMIT" + DefinedNames.GetName(siglaEntitaInfo, info["SiglaInformazione"])).Delete();
            }
        }
コード例 #3
0
ファイル: Ottimizzatore.cs プロジェクト: fberga/Iren
        /// <summary>
        /// Blocca le aree su cui non considerare i vincoli.
        /// </summary>
        protected virtual void OmitConstraints()
        {
            _entitaInformazioni.RowFilter = "SiglaTipologiaInformazione = 'VINCOLO' AND IdApplicazione = " + Workbook.IdApplicazione;

            string       siglaEntita  = "";
            string       nomeFoglio   = "";
            DateTime     dataFine     = new DateTime();
            DefinedNames definedNames = null;

            foreach (DataRowView info in _entitaInformazioni)
            {
                Helper(info, ref siglaEntita, ref nomeFoglio, ref dataFine, ref definedNames);
                object siglaEntitaInfo = info["SiglaEntitaRif"] is DBNull ? info["SiglaEntita"] : info["SiglaEntitaRif"];
                Range  rng             = definedNames.Get(siglaEntitaInfo, info["SiglaInformazione"], Date.SuffissoDATA1).Extend(colOffset: Date.GetOreIntervallo(dataFine));

                Workbook.Application.Run("WBOMIT", DefinedNames.GetName(siglaEntitaInfo, info["SiglaInformazione"]), "'" + nomeFoglio + "'!" + rng.ToString());
            }
        }
コード例 #4
0
ファイル: Ottimizzatore.cs プロジェクト: fberga/Iren
        /// <summary>
        /// Cancella tutti gli adjust esistenti.
        /// </summary>
        protected virtual void DeleteExistingAdjust()
        {
            _entitaInformazioni.RowFilter = "WB <> '0' AND IdApplicazione = " + Workbook.IdApplicazione;

            string       siglaEntita  = "";
            string       nomeFoglio   = "";
            DateTime     dataFine     = new DateTime();
            DefinedNames definedNames = null;

            foreach (DataRowView info in _entitaInformazioni)
            {
                Helper(info, ref siglaEntita, ref nomeFoglio, ref dataFine, ref definedNames);
                object siglaEntitaInfo = info["SiglaEntitaRif"] is DBNull ? siglaEntita : info["SiglaEntitaRif"];
                Range  rng             = definedNames.Get(siglaEntitaInfo, info["SiglaInformazione"], Date.SuffissoDATA1).Extend(colOffset: Date.GetOreIntervallo(dataFine));
                double width           = Workbook.Sheets[nomeFoglio].Range[rng.ToString()].ColumnWidth;
                Workbook.Application.Run("wbAdjust", "'" + nomeFoglio + "'!" + rng.ToString(), "Reset");
                Workbook.Sheets[nomeFoglio].Range[rng.ToString()].ColumnWidth = width;
                Workbook.Sheets[nomeFoglio].Range[rng.ToString()].Style       = "Area dati";
                //Workbook.Sheets[nomeFoglio].Range[rng.ToString()].NumberFormat = info["Formato"];

                Style.RangeStyle(Workbook.Sheets[nomeFoglio].Range[rng.ToString()],
                                 fontSize: info["FontSize"],
                                 foreColor: info["ForeColor"],
                                 backColor: info["BackColor"],
                                 bold: info["Grassetto"].Equals("1"),
                                 numberFormat: info["Formato"],
                                 align: Enum.Parse(typeof(Excel.XlHAlign), info["Align"].ToString()));

                for (DateTime giorno = Workbook.DataAttiva; giorno <= dataFine; giorno = giorno.AddDays(1))
                {
                    Range rng1 = new Range(rng.StartRow, definedNames.GetColFromDate(Date.GetSuffissoData(giorno), Date.GetSuffissoOra(Date.GetOreGiorno(giorno))));
                    Workbook.Sheets[nomeFoglio].Range[rng1.ToString()].Borders[Excel.XlBordersIndex.xlEdgeRight].Weight = Excel.XlBorderWeight.xlMedium;
                }

                if (info["WB"].Equals("2"))
                {
                    try
                    {
                        Workbook.WB.Names.Item("WBFREE" + DefinedNames.GetName(siglaEntitaInfo, info["SiglaInformazione"])).Delete();
                    }
                    catch { }
                }
            }
        }