/// <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()); } } }
private void ChangeSelectionToIncrement(Excel.Range Target) { lbErrore.Text = ""; lbErrore.ForeColor = Color.Red; btnApplica.Enabled = false; _selectionIsCorrect = false; if (Target.Rows.Count > 1) { foreach (Excel.Range row in Target.Rows) { if (row.EntireRow.Hidden) { lbErrore.Text = "ERRORE: Nel range selezionato ci sono righe nascoste."; return; } } lbErrore.ForeColor = Color.DarkOrange; lbErrore.Text = "ATTENZIONE: Nel range selezionato ci sono più righe."; } foreach (Excel.Range row in Target.Rows) { if (!_definedNames.IsEditable(row.Row)) { lbErrore.Text = "ERRORE: Il range selezionato contiene delle righe non modificabili."; return; } } int marketOffset = Workbook.Repository.Applicazione["ModificaDinamica"].Equals("1") ? Simboli.GetMarketOffset(DateTime.Now.Hour) : 0; int firstCol = _definedNames.GetColFromDate(Date.SuffissoDATA1); if (Target.Column < firstCol + marketOffset) { lbErrore.Text = "ERRORE: Il range selezionato contiene celle appartenenti a mercati chiusi."; return; } _selectionIsCorrect = true; if (_valuesAreCorrect) { btnApplica.Enabled = true; } btnRipristina.Enabled = false; if (Target.Cells.Count == 1) { _origVal = new object[1, 1]; _origVal[0, 0] = Target.Value; } else { _origVal = Target.Value; } _origRng = Target; }
/// <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 { } } } }
private void RipristinaValoriDaRepositori() { DataTable dt = Workbook.Repository[tableName : ALL_OLD_VALUE]; DataTable dtm = Workbook.Repository[tableName : MODIFICA]; DataRow[] drs; Sheet.Protected = false; foreach (DataRow dr in dt.Rows) { string data = dr["Data"].ToString(); string suffData = Date.GetSuffissoData(new DateTime(int.Parse(data.Substring(0, 4)), int.Parse(data.Substring(4, 2)), int.Parse(data.Substring(6, 2)))); string suffOra = Date.GetSuffissoOra(int.Parse(data.Substring(8, 2))); int col = _definedNames.GetColFromDate(suffData, suffOra); int row = _definedNames.GetRowByName(dr["SiglaEntita"].ToString() + Simboli.UNION[0] + dr["SiglaInformazione"].ToString()); _ws.Cells[row, col].Value2 = dr["Valore"].ToString() == "0" ? "" : dr["Valore"]; _ws.Cells[row, col].ClearComments(); if (!dr["Commento"].Equals("")) { _ws.Cells[row, col].AddComment(dr["Commento"]); } drs = dtm.Select("SiglaEntita = '" + dr["SiglaEntita"].ToString() + "' AND SiglaInformazione = '" + dr["SiglaInformazione"].ToString() + "' AND Data = '" + dr["Data"].ToString() + "'"); if (drs.Count() > 0) { dtm.Rows.Remove(drs.FirstOrDefault()); } } Sheet.Protected = true; dt.Clear(); }