/// <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()); } } }
/// <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(); } }
/// <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()); } }
/// <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 { } } } }