public FrmViewResult(MetaData Meta, string cmd, string table, string listtype, string edittype) { // // Required for Windows Form Designer support // InitializeComponent(); this.table = table; this.listtype = listtype.Trim(); this.edittype = edittype; this.Meta = Meta; T = Meta.Conn.SQLRunner(cmd, false); if (T == null) { return; } DataSet DD = new DataSet("temp"); ClearDataSet.RemoveConstraints(DD); DD.Tables.Add(T); //HelpForm.SetDataGrid(dgrid, T); dgrid.SetDataBinding(DD, T.TableName); formatgrids fg = new formatgrids(dgrid); fg.AutosizeColumnWidth(); }
void ShowPage(int NPasso) { btnBack.Enabled = false; btnNext.Enabled = false; btnRefresh.Enabled = false; labNrighe.Visible = false; string filter = query[NPasso]; DataGrid dgr = dgrid[NPasso]; //Anagrafica= Conn.RUN_SELECT("registrymainview","*","title",filter,null,false); Cursor = Cursors.WaitCursor; Application.DoEvents(); Anagrafica = Conn.SQLRunner("SELECT * FROM registrymainview WHERE " + filter + " ORDER BY TITLE", false, 0); Cursor = Cursors.Default; DataSet DD = new DataSet("temp"); DD.Tables.Add(Anagrafica); foreach (DataColumn CC in Anagrafica.Columns) { MetaData.DescribeAColumn(Anagrafica, CC.ColumnName, "", -1); } int pos = 1; MetaData.DescribeAColumn(Anagrafica, "idreg", "#", pos++); MetaData.DescribeAColumn(Anagrafica, "title", "Denominazione", pos++); MetaData.DescribeAColumn(Anagrafica, "cf", "C.F.", pos++); MetaData.DescribeAColumn(Anagrafica, "p_iva", "P.Iva", pos++); MetaData.DescribeAColumn(Anagrafica, "registryclass", "Tipologia", pos++); MetaData.DescribeAColumn(Anagrafica, "forename", "Nome", pos++); MetaData.DescribeAColumn(Anagrafica, "surname", "Cognome", pos++); dgr.DataBindings.Clear(); dgr.DataSource = null; dgr.TableStyles.Clear(); HelpForm.SetDataGrid(dgr, Anagrafica); formatgrids fg = new formatgrids(dgr); fg.AutosizeColumnWidth(); ComboBox C = combo[NPasso]; if (C != null) { C.SelectedIndex = 0; } btnRefresh.Visible = (NPasso > 0); btnBack.Enabled = true; btnNext.Enabled = true; btnRefresh.Enabled = true; if (Anagrafica.Rows.Count > 0) { labNrighe.Text = "Righe trovate: " + Anagrafica.Rows.Count; } else { labNrighe.Text = "Nessuna riga trovata."; } labNrighe.Visible = true; }
void RiempiGrid() { string filterstock = QHS.IsNull("idinvkind"); string sqlCmd = " SELECT * " + " FROM ddt_inview " + " WHERE " + filter + " AND EXISTS (SELECT * FROM stock WHERE " + " ddt_inview.idddt_in = stock.idddt_in AND " + filterstock + " ) " + " ORDER BY ddt_inview.idddt_in asc "; DataTable ddt_in = Meta.Conn.SQLRunner(sqlCmd); if (ddt_in.Rows.Count != 0) { ddt_in.PrimaryKey = new DataColumn[] { ddt_in.Columns["idddt_in"] }; //Ora ha messo in ddt_in tutto ciò che da DB risulta 'da fatturare'. if (ddt_in.Select().Length > 0) { MetaData MAP; MAP = Meta.Dispatcher.Get("ddt_inview"); MAP.DescribeColumns(ddt_in, "default"); DataSet D = new DataSet(); D.Tables.Add(ddt_in); HelpForm.SetDataGrid(gridDettagli, ddt_in); gridDettagli.TableStyles.Clear(); HelpForm.SetGridStyle(gridDettagli, ddt_in); formatgrids format = new formatgrids(gridDettagli); format.AutosizeColumnWidth(); HelpForm.SetAllowMultiSelection(ddt_in, true); SelezionaTutto(); } } }
public frmSpesaAutomatismi( MetaData Parent, string filterspesa, string filterentrata, string filtervarspesa) { InitializeComponent(); this.Meta = Parent; string filteresercizio = "(esercizio='" + Meta.GetSys("esercizio") + "')"; ClearDataSet.RemoveConstraints(DS); if (filterspesa != null) { filterspesa = GetData.MergeFilters("(" + filterspesa + ")", filteresercizio); DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.expenseview, null, filterspesa, null, true); } if (filterentrata != null) { filterentrata = GetData.MergeFilters("(" + filterentrata + ")", filteresercizio); DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.incomeview, null, filterentrata, null, true); } if (filtervarspesa != null) { DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.expensevarview, null, filtervarspesa, null, true); } MetaData MSpesaView = Meta.Dispatcher.Get("spesaview"); MSpesaView.DescribeColumns(DS.expenseview, "autospesa"); HelpForm.SetDataGrid(gridSpesa, DS.expenseview); formatgrids FGSpesa = new formatgrids(gridSpesa); FGSpesa.AutosizeColumnWidth(); MetaData MEntrataView = Meta.Dispatcher.Get("entrataview"); MEntrataView.DescribeColumns(DS.incomeview, "autospesa"); HelpForm.SetDataGrid(gridEntrata, DS.incomeview); formatgrids FGEntrata = new formatgrids(gridEntrata); FGEntrata.AutosizeColumnWidth(); MetaData MVarSpesaView = Meta.Dispatcher.Get("variazionespesaview"); MVarSpesaView.DescribeColumns(DS.expensevarview, "autospesa"); HelpForm.SetDataGrid(gridVarSpesa, DS.expensevarview); formatgrids FGVarSpesa = new formatgrids(gridVarSpesa); FGVarSpesa.AutosizeColumnWidth(); HideEmpties(); }
void FillTableAssegnazioni(DataRow ParentEntrataRow, DataTable Automatismi) { foreach (DataRow R in Automatismi.Rows) { AddVociCollegate(R); AddRowToTableAssegnazioni(ParentEntrataRow, R, DS.proceedspart); } Meta.DescribeColumns(DS.proceedspart, "assegnautomatica"); HelpForm.SetDataGrid(dgrAssegnazione, DS.proceedspart); formatgrids FGAssegnazione = new formatgrids(dgrAssegnazione); FGAssegnazione.AutosizeColumnWidth(); }
/// <summary> /// redraws grid /// </summary> /// <param name="importoperclassificazione"></param> public void RefillDettagliClassificazioni(decimal importoperclassificazione) { if (Meta.IsEmpty) { return; } DS.admpay_incomesorted.ExtendedProperties["TotaleImporto"] = importoperclassificazione; GetData.CalculateTable(DS.admpay_incomesorted); DGridDettagliClassificazioni.TableStyles.Clear(); HelpForm.SetGridStyle(DGridDettagliClassificazioni, DS.admpay_incomesorted); if (DGridDettagliClassificazioni.DataSource == null) { return; } formatgrids format = new formatgrids(DGridDettagliClassificazioni); format.AutosizeColumnWidth(); HelpForm.SetDataGrid(DGridDettagliClassificazioni, DS.admpay_incomesorted); }
// public void MetaData_AfterClear() { // this.Text="Assegnazione automatica incassi"; // } void FillEntrataView() { string MyQuery = "SELECT * FROM incomeview WHERE " + QHS.AppAnd(QHS.CmpEq("ayear", esercizio), QHS.CmpEq("nphase", codicefase), QHS.CmpGt("unpartitioned", 0), "(idfin IN (SELECT idfinincome FROM partincomesetup))"); DataTable MovEntrata = Meta.Conn.SQLRunner(MyQuery); MetaDataDispatcher Disp; Disp = Meta.Dispatcher; DS.incomeview.Clear(); foreach (DataRow R in MovEntrata.Rows) { AddRowToTable(R, DS.incomeview); } MetaData MEntrataView = Disp.Get("incomeview"); MEntrataView.DescribeColumns(DS.incomeview, "assegnautocreditiincassi"); HelpForm.SetDataGrid(dgrMovEntrata, DS.incomeview); formatgrids FGEntrata = new formatgrids(dgrMovEntrata); FGEntrata.AutosizeColumnWidth(); DS.incomeview.AcceptChanges(); if (DS.incomeview.Rows.Count == 0) { btnEsegui.Enabled = false; btnEseguiTutte.Enabled = false; return; } btnEsegui.Enabled = true; btnEseguiTutte.Enabled = true; try { dgrMovEntrata.Select(0); } catch { } dgrMovEntrata_CurrentCellChanged(null, null); }
public frm_income_AutomatismiAzzeramento(DataTable AutoVar) { // // Required for Windows Form Designer support // InitializeComponent(); MetaData.DescribeAColumn(AutoVar, "nphase", ""); MetaData.DescribeAColumn(AutoVar, "phase", "Fase"); MetaData.DescribeAColumn(AutoVar, "idinc", ""); MetaData.DescribeAColumn(AutoVar, "ymov", "Eserc.Movimento"); MetaData.DescribeAColumn(AutoVar, "nmov", "Num.Movimento"); MetaData.DescribeAColumn(AutoVar, "description", "Descrizione"); MetaData.DescribeAColumn(AutoVar, "amount", "Importo"); HelpForm.SetDataGrid(gridvariazioni, AutoVar); formatgrids FG = new formatgrids(gridvariazioni); FG.AutosizeColumnWidth(); }
void riempiGrid() { if (!HasDDT) { labDDT.Visible = false; } string filtercurrency = QHS.CmpEq("idcurrency", idcurrency); filtercurrency = QHS.DoPar(QHS.AppOr(filtercurrency, QHS.IsNull("idcurrency"))); string filter = QHS.AppAnd(filterregistry, filterflagmixed); filter = QHS.AppAnd(filter, filtercurrency); filter = QHS.AppAnd(filter, QHS.CmpNe("toinvoice", 'N'), QHS.CmpEq("linktoinvoice", 'S')); filter = QHS.AppAnd(filter, QHS.CmpEq("idmandatestatus", 5)); // stato approvato object currency = Conn.DO_READ_VALUE("currency", filtercurrency, "description"); if (currency != null) { lblValuta.Text = currency.ToString().ToUpper(); } DataTable mandateDetail; if (HasDDT) { mandateDetail = Conn.RUN_SELECT("mandatedetailstockedtoinvoice", "*", "idmankind ASC,yman DESC,nman DESC,rownum ASC, idgroup ASC", filter, null, false); } else { mandateDetail = Conn.RUN_SELECT("mandatedetailnoddttoinvoice", "*", "idmankind ASC,yman DESC,nman DESC,rownum ASC, idgroup ASC", filter, null, false); } Conn.DeleteAllUnselectable(mandateDetail); if (mandateDetail.Rows.Count != 0) { mandateDetail.PrimaryKey = new[] { mandateDetail.Columns["idmankind"], mandateDetail.Columns["yman"], mandateDetail.Columns["nman"], mandateDetail.Columns["rownum"] }; //Ora ha messo in MandateDetail tutto ciò che da DB risulta 'da fatturare'. //Effettua ora una serie di allineamenti sul DataTable per renderlo più coerente con quello // che c'è nel DataSet del form padre. //Per ogni riga del DataSet in stato di INSERT/UPDATE effettua una sottrazione ed eventualmente // un delete su MandateDetail se la riga corrispondente risulta essere esaurita. foreach (DataRow R in InvoiceDetail.Select()) { if (R.RowState != DataRowState.Added) { continue; } if (R["idmankind"] == DBNull.Value) { continue; //Non è una riga collegata a dettagli ordine } string filtermand = QHC.CmpMulti(R, "idmankind", "yman", "nman"); filtermand = QHC.AppAnd(filtermand, QHC.CmpEq("rownum", R["manrownum"])); DataRow [] RM = mandateDetail.Select(filtermand); if ((RM.Length == 0)) { continue; } var detail = RM[0]; decimal oldnumber = 0; decimal newnumber = CfgFn.GetNoNullDecimal(R["number", DataRowVersion.Current]); decimal oldresidual = CfgFn.GetNoNullDecimal(detail["residual"]); decimal newresidual = oldresidual - newnumber + oldnumber; detail["residual"] = newresidual; } foreach (DataRow R in InvoiceDetail.Select()) { if (R.RowState != DataRowState.Modified) { continue; } string filtermand = QHC.CmpMulti(R, "idmankind", "yman", "nman"); filtermand = QHC.AppAnd(filtermand, QHC.CmpEq("rownum", R["manrownum"])); DataRow[] RM = mandateDetail.Select(filtermand); if ((RM.Length == 0)) { continue; } DataRow detail = RM[0]; decimal oldnumber; if (R["idmankind", DataRowVersion.Original] == DBNull.Value) { oldnumber = 0; } else { oldnumber = CfgFn.GetNoNullDecimal(R["number", DataRowVersion.Original]); } decimal newnumber; if (R["idmankind", DataRowVersion.Current] == DBNull.Value) { newnumber = 0; } else { newnumber = CfgFn.GetNoNullDecimal(R["number", DataRowVersion.Current]); } decimal oldresidual = CfgFn.GetNoNullDecimal(detail["residual"]); decimal newresidual = oldresidual - newnumber + oldnumber; detail["residual"] = newresidual; } foreach (DataRow r in InvoiceDetail.Rows) { if (r.RowState != DataRowState.Deleted) { continue; } if (r["idmankind", DataRowVersion.Original] == DBNull.Value) { continue; } string filtermand = QHC.CmpMulti(r, "idmankind", "yman", "nman"); filtermand = QHC.AppAnd(filtermand, QHC.CmpEq("rownum", r["manrownum", DataRowVersion.Original])); DataRow [] RM = mandateDetail.Select(filtermand); if ((RM.Length == 0)) { continue; } DataRow Detail = RM[0]; decimal oldnumber = CfgFn.GetNoNullDecimal(r["number", DataRowVersion.Original]); decimal newnumber = 0; decimal oldresidual = CfgFn.GetNoNullDecimal(Detail["residual"]); decimal newresidual = oldresidual - newnumber + oldnumber; Detail["residual"] = newresidual; } foreach (DataRow R in mandateDetail.Select()) { decimal residual = CfgFn.GetNoNullDecimal(R["residual"]); if (residual == 0) { R.Delete(); } } mandateDetail.AcceptChanges(); if (mandateDetail.Select().Length > 0) { MetaData MAP; if (HasDDT) { MAP = Meta.Dispatcher.Get("mandatedetailstockedtoinvoice"); } else { MAP = Meta.Dispatcher.Get("mandatedetailnoddttoinvoice"); } MAP.DescribeColumns(mandateDetail, "default"); DataSet D = new DataSet(); D.Tables.Add(mandateDetail); HelpForm.SetDataGrid(gridDettagli, mandateDetail); gridDettagli.TableStyles.Clear(); HelpForm.SetGridStyle(gridDettagli, mandateDetail); formatgrids format = new formatgrids(gridDettagli); format.AutosizeColumnWidth(); HelpForm.SetAllowMultiSelection(mandateDetail, true); SelezionaTutto(); } } }
void RiempiGrid() { DataTable MandateDetail = Conn.RUN_SELECT("mandatedetail_tostock", "*", "idmankind ASC,yman DESC,nman DESC, idgroup ASC", filtersql, null, false); Conn.DeleteAllUnselectable(MandateDetail); if (MandateDetail.Rows.Count != 0) { MandateDetail.PrimaryKey = new DataColumn[] { MandateDetail.Columns["idmankind"], MandateDetail.Columns["yman"], MandateDetail.Columns["nman"], MandateDetail.Columns["idgroup"] }; //Ora ha messo in MandateDetail tutto ciò che da DB risulta 'da inserire nella bolla'. //Effettua ora una serie di allineamenti sul DataTable per renderlo più coerente con quello // che c'è nel DataSet del form padre. //Per ogni riga del DataSet in stato di INSERT/UPDATE effettua una sottrazione ed eventualmente // un delete su MandateDetail se la riga corrispondente risulta essere esaurita. foreach (DataRow rStock in DS.Tables["stock"].Select()) { if (rStock.RowState != DataRowState.Added) { continue; } if (rStock["idmankind"] == DBNull.Value) { continue; //Non è una riga collegata a dettagli ordine } string filtermand = QHC.CmpMulti(rStock, "idmankind", "yman", "nman"); filtermand = QHC.AppAnd(filtermand, QHC.CmpEq("idgroup", rStock["man_idgroup"])); DataRow[] RM = MandateDetail.Select(filtermand); if ((RM == null) || (RM.Length == 0)) { continue; } DataRow Detail = RM[0]; decimal oldnumber = 0; decimal newnumber = CfgFn.GetNoNullDecimal(rStock["number", DataRowVersion.Current]); decimal oldstocked = CfgFn.GetNoNullDecimal(Detail["stocked"]); decimal newstocked = oldstocked + newnumber - oldnumber; Detail["stocked"] = newstocked; } foreach (DataRow rStock in DS.Tables["stock"].Select()) { if (rStock.RowState != DataRowState.Modified) { continue; } string filtermand = QHC.CmpMulti(rStock, "idmankind", "yman", "nman"); filtermand = QHC.AppAnd(filtermand, QHC.CmpEq("idgroup", rStock["man_idgroup"])); DataRow[] RM = MandateDetail.Select(filtermand); if ((RM == null) || (RM.Length == 0)) { continue; } DataRow Detail = RM[0]; decimal oldnumber; if (rStock["idmankind", DataRowVersion.Original] == DBNull.Value) { oldnumber = 0; } else { oldnumber = CfgFn.GetNoNullDecimal(rStock["number", DataRowVersion.Original]); } decimal newnumber; if (rStock["idmankind", DataRowVersion.Current] == DBNull.Value) { newnumber = 0; } else { newnumber = CfgFn.GetNoNullDecimal(rStock["number", DataRowVersion.Current]); } decimal oldstocked = CfgFn.GetNoNullDecimal(Detail["stocked"]); decimal newstocked = oldstocked + newnumber - oldnumber; Detail["stocked"] = newstocked; } //foreach (DataRow rStock in DS.Tables["stock"].Rows){ // if (rStock.RowState != DataRowState.Deleted) continue; // if (rStock["idmankind", DataRowVersion.Original] == DBNull.Value) continue; // string filtermand = QHC.CmpMulti(rStock, "idmankind", "yman", "nman"); // filtermand = QHC.AppAnd(filtermand, QHC.CmpEq("idgroup", rStock["man_idgroup", DataRowVersion.Original])); // DataRow[] RM = MandateDetail.Select(filtermand); // if ((RM == null) || (RM.Length == 0)) continue; // DataRow Detail = RM[0]; // decimal oldnumber = CfgFn.GetNoNullDecimal(rStock["number", DataRowVersion.Original]); // decimal newnumber = 0; // decimal oldstocked = CfgFn.GetNoNullDecimal(Detail["stocked"]); // decimal newstocked = oldstocked + newnumber - oldnumber; // Detail["stocked"] = newstocked; //} foreach (DataRow rMandatedetail in MandateDetail.Select()) { decimal stocked = CfgFn.GetNoNullDecimal(rMandatedetail["stocked"]); decimal ordered = CfgFn.GetNoNullDecimal(rMandatedetail["ordered"]); decimal ntostock = ordered - stocked; rMandatedetail["ntostock"] = ntostock; if (ntostock == 0) { rMandatedetail.Delete(); } } MandateDetail.AcceptChanges(); if (MandateDetail.Select().Length > 0) { MetaData MAP = Meta.Dispatcher.Get("mandatedetail_tostock"); MAP.DescribeColumns(MandateDetail, "default"); DataSet D = new DataSet(); D.Tables.Add(MandateDetail); HelpForm.SetDataGrid(gridDettagli, MandateDetail); gridDettagli.TableStyles.Clear(); HelpForm.SetGridStyle(gridDettagli, MandateDetail); formatgrids format = new formatgrids(gridDettagli); format.AutosizeColumnWidth(); HelpForm.SetAllowMultiSelection(MandateDetail, true); SelezionaTutto(); } } }
void riempiGrid() { var filtercurrency = QHS.CmpEq("idcurrency", _idcurrency); filtercurrency = QHS.DoPar(QHS.AppOr(filtercurrency, QHS.IsNull("idcurrency"))); var filter = QHS.AppAnd(filtercurrency, filterregistry); filter = QHS.AppAnd(filter, QHS.CmpNe("toinvoice", "N"), QHS.CmpEq("linktoinvoice", "S")); var currency = Conn.DO_READ_VALUE("currency", filtercurrency, "description"); if (currency != null) { lblValuta.Text = currency.ToString().ToUpper(); } var estimateDetail = Conn.RUN_SELECT("estimatedetailtoinvoice", "*", "idestimkind ASC,yestim DESC,nestim DESC,rownum ASC, idgroup ASC", filter, null, false); Conn.DeleteAllUnselectable(estimateDetail); if (estimateDetail.Rows.Count != 0) { estimateDetail.PrimaryKey = new[] { estimateDetail.Columns["idestimkind"], estimateDetail.Columns["yestim"], estimateDetail.Columns["nestim"], estimateDetail.Columns["rownum"] }; //Ora ha messo in EstimateDetail tutto ciò che da DB risulta 'da fatturare'. //Effettua ora una serie di allineamenti sul DataTable per renderlo più coerente con quello //che c'è nel DataSet del form padre. //Per ogni riga del DataSet in stato di INSERT/UPDATE effettua una sottrazione ed eventualmente //un delete su MandateDetail se la riga corrispondente risulta essere esaurita. foreach (var r in InvoiceDetail.Select()) { if (r.RowState != DataRowState.Added) { continue; } if (r["idmankind"] == DBNull.Value) { continue; //Non è una riga collegata a dettagli ordine } var filterestim = QHC.CmpMulti(r, "idestimkind", "yestim", "nestim"); filterestim = QHC.AppAnd(filterestim, QHC.CmpEq("rownum", r["estimrownum"])); var rm = estimateDetail.Select(filterestim); if (rm.Length == 0) { continue; } var detail = rm[0]; decimal oldnumber = 0; decimal newnumber = CfgFn.GetNoNullDecimal(r["number", DataRowVersion.Current]); decimal oldinvoiced = CfgFn.GetNoNullDecimal(detail["invoiced"]); decimal newinvoiced = oldinvoiced + newnumber - oldnumber; detail["invoiced"] = newinvoiced; } foreach (var r in InvoiceDetail.Select()) { if (r.RowState != DataRowState.Modified) { continue; } string filterestim = QHC.CmpMulti(r, "idestimkind", "yestim", "nestim"); filterestim = QHC.AppAnd(filterestim, QHC.CmpEq("rownum", r["estimrownum"])); var rm = estimateDetail.Select(filterestim); if ((rm.Length == 0)) { continue; } DataRow detail = rm[0]; decimal oldnumber; if (r["idestimkind", DataRowVersion.Original] == DBNull.Value) { oldnumber = 0; } else { oldnumber = CfgFn.GetNoNullDecimal(r["number", DataRowVersion.Original]); } decimal newnumber; if (r["idestimkind", DataRowVersion.Current] == DBNull.Value) { newnumber = 0; } else { newnumber = CfgFn.GetNoNullDecimal(r["number", DataRowVersion.Current]); } var oldinvoiced = CfgFn.GetNoNullDecimal(detail["invoiced"]); var newinvoiced = oldinvoiced + newnumber - oldnumber; detail["invoiced"] = newinvoiced; } foreach (DataRow r in InvoiceDetail.Rows) { if (r.RowState != DataRowState.Deleted) { continue; } if (r["idestimkind", DataRowVersion.Original] == DBNull.Value) { continue; } string filterestim = QHC.CmpMulti(r, "idestimkind", "yestim", "nestim"); filterestim = QHC.AppAnd(filterestim, QHC.CmpEq("rownum", r["estimrownum", DataRowVersion.Original])); var rm = estimateDetail.Select(filterestim); if ((rm.Length == 0)) { continue; } var detail = rm[0]; var oldnumber = CfgFn.GetNoNullDecimal(r["number", DataRowVersion.Original]); decimal newnumber = 0; var oldinvoiced = CfgFn.GetNoNullDecimal(detail["invoiced"]); var newinvoiced = oldinvoiced + newnumber - oldnumber; detail["invoiced"] = newinvoiced; } foreach (var r in estimateDetail.Select()) { var invoiced = CfgFn.GetNoNullDecimal(r["invoiced"]); var ordered = CfgFn.GetNoNullDecimal(r["ordered"]); var residual = ordered - invoiced; r["residual"] = residual; if (residual == 0) { r.Delete(); } } estimateDetail.AcceptChanges(); if (estimateDetail.Select().Length <= 0) { return; } var map = Meta.Dispatcher.Get("estimatedetailtoinvoice"); map.DescribeColumns(estimateDetail, "default"); var d = new DataSet(); d.Tables.Add(estimateDetail); HelpForm.SetDataGrid(gridDettagli, estimateDetail); gridDettagli.TableStyles.Clear(); HelpForm.SetGridStyle(gridDettagli, estimateDetail); var format = new formatgrids(gridDettagli); format.AutosizeColumnWidth(); HelpForm.SetAllowMultiSelection(estimateDetail, true); selezionaTutto(); } }
void RiempiGrid() { string filter = ""; filter = QHS.AppAnd(QHS.IsNull("iduniqueformcode"), QHS.IsNull("idflussocrediti")); if (cmbTipocontrattoattivo.SelectedValue != null) { filter = QHS.AppAnd(filter, QHS.CmpEq("idestimkind", cmbTipocontrattoattivo.SelectedValue)); } if (txtAnagrafica.Text != "") { filter = QHS.AppAnd(filter, QHS.CmpEq("registry", txtAnagrafica.Text.ToString())); } if (txtDataStart.Text != "") { object datainizio = HelpForm.GetObjectFromString(typeof(DateTime), txtDataStart.Text, txtDataStart.Tag.ToString()); filter = QHS.AppAnd(filter, QHS.CmpGe("adate", datainizio)); } if (txtDataStop.Text != "") { object datafine = HelpForm.GetObjectFromString(typeof(DateTime), txtDataStop.Text, txtDataStop.Tag.ToString()); filter = QHS.AppAnd(filter, QHS.CmpLe("adate", datafine)); } DataTable EstimateDetail = Conn.RUN_SELECT("estimatedetailview", "*", "idestimkind ASC,yestim DESC,nestim DESC,rownum ASC, idgroup ASC", filter, null, false); Conn.DeleteAllUnselectable(EstimateDetail); if (EstimateDetail.Rows.Count != 0) { EstimateDetail.PrimaryKey = new DataColumn[] { EstimateDetail.Columns["idestimkind"], EstimateDetail.Columns["yestim"], EstimateDetail.Columns["nestim"], EstimateDetail.Columns["rownum"] }; //Ora ha messo in EstimateDetail tutto ciò che da DB risulta 'da fatturare'. //Effettua ora una serie di allineamenti sul DataTable per renderlo più coerente con quello //che c'è nel DataSet del form padre. foreach (DataRow R in Flussocreditidetail.Select()) { if (R.RowState != DataRowState.Added) { continue; } if (R["idestimkind"] == DBNull.Value) { continue; //Non è una riga collegata a dettagli contratto attivo } string filterestim = QHC.CmpMulti(R, "idestimkind", "yestim", "nestim", "rownum"); foreach (DataRow Re in EstimateDetail.Select(filterestim)) { Re.Delete(); } } EstimateDetail.AcceptChanges(); if (EstimateDetail.Select().Length > 0) { MetaData MAP = Meta.Dispatcher.Get("estimatedetailview"); MAP.DescribeColumns(EstimateDetail, "flussocrediti"); DataSet D = new DataSet(); D.Tables.Add(EstimateDetail); HelpForm.SetDataGrid(gridDettagli, EstimateDetail); gridDettagli.TableStyles.Clear(); HelpForm.SetGridStyle(gridDettagli, EstimateDetail); formatgrids format = new formatgrids(gridDettagli); format.AutosizeColumnWidth(); HelpForm.SetAllowMultiSelection(EstimateDetail, true); SelezionaTutto(); } } }
void RiempiGrid(string Filtro) { //if (RBooking == null) return; //string keyfilter = QHS.CmpEq("idbooking", RBooking["idbooking"]); //string lista = ""; foreach (DataRow rDetail in DS.storeunloaddetail.Rows) { if ((rDetail.RowState == DataRowState.Deleted) || (rDetail.RowState == DataRowState.Modified)) { if (rDetail["idbooking", DataRowVersion.Original] != DBNull.Value) { Filtro = QHS.AppOr(QHS.DoPar(Filtro), QHS.DoPar(QHS.CmpEq("idbooking", rDetail["idbooking", DataRowVersion.Original]))); } } } //Details contiene la vista delle righe interessate dalle prenotazioni associate allo scarico // ed in più quelle selezionate in base ai filtri DataTable Details = Conn.RUN_SELECT("booktotalview", "*", null, Filtro, null, false); if (Details.Rows.Count != 0) { Details.PrimaryKey = new DataColumn[] { Details.Columns["idbooking"], Details.Columns["idlist"], Details.Columns["idstore"] }; // Ora ha messo in Detail tutto ciò che da DB risulta 'da inserire nello scarico'. // Effettua ora una serie di allineamenti sul DataTable per renderlo più coerente con quello // che c'è nel DataSet del form padre. // Per ogni riga del DataSet in stato di INSERT/UPDATE effettua una sottrazione ed eventualmente // un delete su Detail se la riga corrispondente risulta essere esaurita. //Esamina le righe cancellate da DS foreach (DataRow rDetail in DS.Tables["storeunloaddetail"].Rows) { if (rDetail.RowState != DataRowState.Deleted) { continue; } if (rDetail["idbooking", DataRowVersion.Original] == DBNull.Value) { continue; } decimal oldnumber = CfgFn.GetNoNullDecimal(rDetail["number", DataRowVersion.Original]); string filter = QHC.AppAnd( QHC.CmpEq("idstore", GetIDStore(rDetail["idstock", DataRowVersion.Original])), QHC.CmpEq("idlist", GetIDList(rDetail["idstock", DataRowVersion.Original])), QHC.CmpEq("idbooking", rDetail["idbooking", DataRowVersion.Original]) ); DataRow[] RM = Details.Select(filter); if ((RM == null) || (RM.Length == 0)) { continue; } DataRow Detail = RM[0]; decimal newnumber = 0; decimal oldbooknumber = CfgFn.GetNoNullDecimal(Detail["number"]); decimal oldallocated = CfgFn.GetNoNullDecimal(Detail["allocated"]); decimal newallocated = oldallocated - newnumber + oldnumber; decimal newbooknumber = oldbooknumber - newnumber + oldnumber; Detail["number"] = newbooknumber; Detail["allocated"] = newallocated; } //Esamina le righe aggiunte al DS foreach (DataRow rDetail in DS.Tables["storeunloaddetail"].Select()) { if (rDetail.RowState != DataRowState.Added) { continue; } if (rDetail["idbooking"] == DBNull.Value) { continue; } //Non è una riga collegata a dettagli ordine string filter = QHC.AppAnd( QHC.CmpEq("idstore", GetIDStore(rDetail["idstock"])), QHC.CmpEq("idlist", GetIDList(rDetail["idstock"])), QHC.CmpEq("idbooking", rDetail["idbooking"]) ); DataRow[] RM = Details.Select(filter); if ((RM == null) || (RM.Length == 0)) { continue; } DataRow Detail = RM[0]; decimal oldnumber = 0; decimal newnumber = CfgFn.GetNoNullDecimal(rDetail["number", DataRowVersion.Current]); decimal oldbooknumber = CfgFn.GetNoNullDecimal(Detail["number"]); decimal oldallocated = CfgFn.GetNoNullDecimal(Detail["allocated"]); decimal newallocated = oldallocated - newnumber + oldnumber; decimal newbooknumber = oldbooknumber + newnumber - oldnumber; Detail["number"] = newbooknumber; Detail["allocated"] = newallocated; } foreach (DataRow rDetail in DS.Tables["storeunloaddetail"].Select()) { if (rDetail.RowState != DataRowState.Modified) { continue; } //Non è una riga collegata a dettagli ordine string filter = QHC.AppAnd( QHC.CmpEq("idstore", GetIDStore(rDetail["idstock"])), QHC.CmpEq("idlist", GetIDList(rDetail["idstock"])), QHC.CmpEq("idbooking", rDetail["idbooking"]) ); DataRow[] RM = Details.Select(filter); if ((RM == null) || (RM.Length == 0)) { continue; } DataRow Detail = RM[0]; decimal oldnumber; if (rDetail["idbooking", DataRowVersion.Original] == DBNull.Value) { oldnumber = 0; } else { oldnumber = CfgFn.GetNoNullDecimal(rDetail["number", DataRowVersion.Original]); } decimal newnumber; if (rDetail["idbooking", DataRowVersion.Current] == DBNull.Value) { newnumber = 0; } else { newnumber = CfgFn.GetNoNullDecimal(rDetail["number", DataRowVersion.Current]); } decimal oldbooknumber = CfgFn.GetNoNullDecimal(Detail["number"]); decimal newbooknumber = oldbooknumber - newnumber + oldnumber; decimal oldallocated = CfgFn.GetNoNullDecimal(Detail["allocated"]); decimal newallocated = oldallocated - newnumber + oldnumber; Detail["number"] = newbooknumber; Detail["allocated"] = newallocated; } foreach (DataRow rDetail in Details.Select()) { if (CfgFn.GetNoNullDecimal(rDetail["allocated"]) == 0) { rDetail.Delete(); } } Details.AcceptChanges(); if (Details.Select().Length > 0) { MetaData MAP = Meta.Dispatcher.Get("booktotalview"); MAP.DescribeColumns(Details, "default"); DataSet D = new DataSet(); D.Tables.Add(Details); HelpForm.SetDataGrid(gridDettagli, Details); gridDettagli.TableStyles.Clear(); HelpForm.SetGridStyle(gridDettagli, Details); formatgrids format = new formatgrids(gridDettagli); format.AutosizeColumnWidth(); HelpForm.SetAllowMultiSelection(Details, true); SelezionaTutto(); } } }
public Frm_expense_automatismi( MetaData Parent, string filterspesa, string filterentrata, string filtervarspesa, string filtervarentrata) { InitializeComponent(); this.Meta = Parent; MetaData.SetColor(this); ExcelMenu = new ContextMenu(); ExcelMenu.MenuItems.Add("Excel", new EventHandler(Excel_Click)); QHS = Meta.Conn.GetQueryHelper(); QHC = new CQueryHelper(); string filteresercizio = QHS.CmpEq("ayear", Meta.GetSys("esercizio")); ClearDataSet.RemoveConstraints(DS); if (filterspesa != null) { filterspesa = QHS.AppAnd("(" + filterspesa + ")", filteresercizio); DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.expenseview, "autokind asc, autocode asc, amount asc, idfin asc, nphase asc", filterspesa, null, true); } if (filterentrata != null) { filterentrata = QHS.AppAnd("(" + filterentrata + ")", filteresercizio); DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.incomeview, "autokind asc, autocode asc, amount asc,idfin asc, nphase asc", filterentrata, null, true); } if (filtervarspesa != null) { DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.expensevarview, "nvar asc", filtervarspesa, null, true); } if (filtervarentrata != null) { DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.incomevarview, "nvar asc", filtervarentrata, null, true); } MetaData MSpesaView = Meta.Dispatcher.Get("expenseview"); MSpesaView.DescribeColumns(DS.expenseview, "autospesa"); HelpForm.SetDataGrid(gridSpesa, DS.expenseview); gridSpesa.ContextMenu = ExcelMenu; formatgrids FGSpesa = new formatgrids(gridSpesa); FGSpesa.AutosizeColumnWidth(); MetaData MEntrataView = Meta.Dispatcher.Get("incomeview"); MEntrataView.DescribeColumns(DS.incomeview, "autospesa"); HelpForm.SetDataGrid(gridEntrata, DS.incomeview); gridEntrata.ContextMenu = ExcelMenu; formatgrids FGEntrata = new formatgrids(gridEntrata); FGEntrata.AutosizeColumnWidth(); MetaData MVarSpesaView = Meta.Dispatcher.Get("expensevarview"); MVarSpesaView.DescribeColumns(DS.expensevarview, "autospesa"); HelpForm.SetDataGrid(gridVarSpesa, DS.expensevarview); gridVarSpesa.ContextMenu = ExcelMenu; formatgrids FGVarSpesa = new formatgrids(gridVarSpesa); FGVarSpesa.AutosizeColumnWidth(); MetaData MVarEntrataView = Meta.Dispatcher.Get("incomevarview"); MVarEntrataView.DescribeColumns(DS.incomevarview, "autoentrata"); HelpForm.SetDataGrid(gridVarEntrata, DS.incomevarview); gridVarEntrata.ContextMenu = ExcelMenu; formatgrids FGVarEntrata = new formatgrids(gridVarEntrata); FGVarEntrata.AutosizeColumnWidth(); HideEmpties(); }
private void GeneraFile(bool Mandati) { DataRow rTesoriere = HelpForm.GetLastSelected(DS.treasurer); if (rTesoriere == null) { HelpForm.FocusControl(cmbIstitutoCassiere); MessageBox.Show(this, "Scegliere l'istituto cassiere"); return; } string idbank = rTesoriere["idbank"].ToString(); bool res = false; foreach (string s in new string[] { "03111", "03067", "01030", "02008", "01010" }) { if (s == idbank) { res = true; } } if (!res) { if (MessageBox.Show( "Questa maschera non dovrebbe essere usata con il cassiere selezionato. Usare, invece, la maschera alla voce di menu Cassiere - Trasmissione e Importazione Distinte XML. " + " Si desidera proseguire comunque l''elaborazione?", "Errore", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } } string sp_export = Mandati ? rTesoriere["spexportexp"].ToString() : rTesoriere["spexportinc"].ToString(); if (sp_export == "") { MessageBox.Show(this, "Nella configurazione del tesoriere non è impostata la sp da chiamare per generare il file"); return; } string flagMultiExp = rTesoriere["flagmultiexp"].ToString(); int da = CfgFn.GetNoNullInt32(txtDa.Text); int a = CfgFn.GetNoNullInt32(txtA.Text); if (flagMultiExp == "S") { if (da == 0) { HelpForm.FocusControl(txtDa); MessageBox.Show(this, "Specificare il numero della prima distinta che si vuole trasmettere"); return; } if (a == 0) { HelpForm.FocusControl(txtA); MessageBox.Show(this, "Specificare il numero dell'ultima distinta che si vuole trasmettere"); return; } } else { if (da == 0) { HelpForm.FocusControl(txtDa); MessageBox.Show(this, "Specificare il numero della distinta che si vuole trasmettere"); return; } } // Controlla che il cassiere della/e distinta/e sia uguale a quello scelto nel combo. string Filter = ""; if (Mandati) { if (flagMultiExp == "S") { for (int i = da; i <= a; i++) { Filter = QHS.AppAnd(QHS.CmpEq("ypaymenttransmission", Meta.GetSys("esercizio")), QHS.CmpEq("npaymenttransmission", i)); object idtreasurer = Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter, "idtreasurer"); if (idtreasurer == null) { MessageBox.Show(this, "La distinta n." + i.ToString() + " non è presente su db", "Errore"); return; } if (idtreasurer.ToString() != rTesoriere["idtreasurer"].ToString()) { MessageBox.Show(this, "La distinta n." + i.ToString() + " ha un Cassiere diverso da quello selezionato!"); return; } object flagtransmissionenabled = Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter, "flagtransmissionenabled"); object cfgflagenabletransmission = Meta.Conn.DO_READ_VALUE("config", QHS.CmpEq("ayear", Meta.GetSys("esercizio")), "flagenabletransmission"); if (cfgflagenabletransmission != DBNull.Value) { string cfg_flag = cfgflagenabletransmission.ToString().ToUpper(); if ((cfg_flag == "S") && (flagtransmissionenabled.ToString().ToUpper() != "S")) { MessageBox.Show(this, "La trasmissione della distinta non è stata autorizzata"); return; } } } } else { Filter = QHS.AppAnd(QHS.CmpEq("ypaymenttransmission", Meta.GetSys("esercizio")), QHS.CmpEq("npaymenttransmission", da)); object idtreasurer = Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter, "idtreasurer"); if (idtreasurer == null) { MessageBox.Show(this, "La distinta n." + da.ToString() + " non è presente su db", "Errore"); return; } if (idtreasurer.ToString() != rTesoriere["idtreasurer"].ToString()) { MessageBox.Show(this, "La distinta n." + da.ToString() + " ha un Cassiere diverso da quello selezionato!"); return; } object flagtransmissionenabled = Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter, "flagtransmissionenabled"); object cfgflagenabletransmission = Meta.Conn.DO_READ_VALUE("config", QHS.CmpEq("ayear", Meta.GetSys("esercizio")), "flagenabletransmission"); if (cfgflagenabletransmission != DBNull.Value) { string cfg_flag = cfgflagenabletransmission.ToString().ToUpper(); if ((cfg_flag == "S") && (flagtransmissionenabled.ToString().ToUpper() != "S")) { MessageBox.Show(this, "La trasmissione della distinta non è stata autorizzata"); return; } } } } else { if (flagMultiExp == "S") { for (int i = da; i <= a; i++) { Filter = QHS.AppAnd(QHS.CmpEq("yproceedstransmission", Meta.GetSys("esercizio")), QHS.CmpEq("nproceedstransmission", i)); object idtreasurer = Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter, "idtreasurer"); if (idtreasurer == null) { MessageBox.Show(this, "La distinta n." + i.ToString() + " non è presente su db", "Errore"); return; } if (idtreasurer.ToString() != rTesoriere["idtreasurer"].ToString()) { MessageBox.Show(this, "La distinta n." + i.ToString() + " ha un Cassiere diverso da quello selezionato!"); return; } object flagtransmissionenabled = Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter, "flagtransmissionenabled"); object cfgflagenabletransmission = Meta.Conn.DO_READ_VALUE("config", QHS.CmpEq("ayear", Meta.GetSys("esercizio")), "flagenabletransmission"); if (cfgflagenabletransmission != DBNull.Value) { string cfg_flag = cfgflagenabletransmission.ToString().ToUpper(); if ((cfg_flag == "S") && (flagtransmissionenabled.ToString().ToUpper() != "S")) { MessageBox.Show(this, "La trasmissione della distinta non è stata autorizzata"); return; } } } } else { Filter = QHS.AppAnd(QHS.CmpEq("yproceedstransmission", Meta.GetSys("esercizio")), QHS.CmpEq("nproceedstransmission", da)); object idtreasurer = Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter, "idtreasurer"); if (idtreasurer == null) { MessageBox.Show(this, "La distinta n." + da.ToString() + " non è presente su db", "Errore"); return; } if (idtreasurer.ToString() != rTesoriere["idtreasurer"].ToString()) { MessageBox.Show(this, "La distinta n." + da.ToString() + " ha un Cassiere diverso da quello selezionato!"); return; } object flagtransmissionenabled = Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter, "flagtransmissionenabled"); object cfgflagenabletransmission = Meta.Conn.DO_READ_VALUE("config", QHS.CmpEq("ayear", Meta.GetSys("esercizio")), "flagenabletransmission"); if (cfgflagenabletransmission != DBNull.Value) { string cfg_flag = cfgflagenabletransmission.ToString().ToUpper(); if ((cfg_flag == "S") && (flagtransmissionenabled.ToString().ToUpper() != "S")) { MessageBox.Show(this, "La trasmissione della distinta non è stata autorizzata"); return; } } } } object[] parametri = flagMultiExp == "S" ? new object[] { Meta.GetSys("esercizio"), da, a } : new object[] { Meta.GetSys("esercizio"), da }; DataSet result = Meta.Conn.CallSP(sp_export, parametri, false, 300); if ((result == null) || (result.Tables.Count == 0)) { MessageBox.Show(this, "La sp non ha restituito risultati"); return; } DataTable t = result.Tables[0]; dataGrid1.TableStyles.Clear(); dataGrid1.DataSource = null; if (t.Columns.Contains("message")) { t.Columns["message"].Caption = "Spiegazione errore"; HelpForm.SetDataGrid(dataGrid1, t); formatgrids FF = new formatgrids(dataGrid1); FF.AutosizeColumnWidth(); MessageBox.Show(this, "Ci sono degli errori, pertanto non è stato generato il file!"); return; } if (txtCartella.Text == "") { DialogResult dr = folderBrowserDialog1.ShowDialog(this); if (dr == DialogResult.OK) { txtCartella.Text = folderBrowserDialog1.SelectedPath; } else { folderBrowserDialog1.SelectedPath = txtCartella.Text; HelpForm.FocusControl(txtCartella); MessageBox.Show(this, "Specificare il percorso del file"); return; } } string nomeFile = Mandati ? Meta.GetSys("esercizio") + "_mandato" + "_" + da : Meta.GetSys("esercizio") + "_reversale" + "_" + da; if (flagMultiExp == "S") { if (da != a) { nomeFile = Mandati ? Meta.GetSys("esercizio") + "_mandati" : Meta.GetSys("esercizio") + "_reversali"; for (int i = da; i <= a; i++) { nomeFile += "_" + i; } } } txtFile.Text = Path.Combine(txtCartella.Text, nomeFile + "." + fileExtension); try { StreamWriter sw = new StreamWriter(txtFile.Text, false, Encoding.Default); foreach (DataRow r in t.Rows) { sw.WriteLine(r[0]); } sw.Flush(); sw.Close(); sw.Dispose(); } catch (Exception e1) { QueryCreator.ShowException("Errore nel salvataggio del file " + txtFile.Text, e1); return; } int year = CfgFn.GetNoNullInt32(Meta.GetSys("esercizio")); if (flagMultiExp == "S") { if (da != a) { for (int i = da; i <= a; i++) { if (Mandati) { AggiornaStreamDate("PAYMENTTRANSMISSION", year, i); } else { AggiornaStreamDate("PROCEEDSTRANSMISSION", year, i); } } } } if (Mandati) { AggiornaStreamDate("PAYMENTTRANSMISSION", year, da); } else { AggiornaStreamDate("PROCEEDSTRANSMISSION", year, da); } MessageBox.Show(this, "File della trasmissione salvato in " + txtFile.Text); }
private void GeneraFileUltimaDistinta(bool Mandati) { DataRow rTesoriere = HelpForm.GetLastSelected(DS.treasurer); if (rTesoriere == null) { HelpForm.FocusControl(cmbIstitutoCassiere); MessageBox.Show(this, "Scegliere l'istituto cassiere"); return; } string sp_export = Mandati ? rTesoriere["spexportexp"].ToString() : rTesoriere["spexportinc"].ToString(); if (sp_export == "") { MessageBox.Show(this, "Nella configurazione del tesoriere non è impostata la sp da chiamare per generare il file"); return; } string Filter = ""; int nDoc = 0; if (Mandati) { Filter = QHS.AppAnd(QHS.CmpEq("ypaymenttransmission", Meta.GetSys("esercizio")), QHS.CmpEq("idtreasurer", rTesoriere["idtreasurer"])); nDoc = CfgFn.GetNoNullInt32(Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter, "MAX(npaymenttransmission)")); } else { Filter = QHS.AppAnd(QHS.CmpEq("yproceedstransmission", Meta.GetSys("esercizio")), QHS.CmpEq("idtreasurer", rTesoriere["idtreasurer"])); nDoc = CfgFn.GetNoNullInt32(Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter, "MAX(nproceedstransmission)")); } if (nDoc == 0) { MessageBox.Show(this, "Non vi sono distinte."); return; } object[] parametri = new object[] { Meta.GetSys("esercizio"), nDoc }; DataSet result = Meta.Conn.CallSP(sp_export, parametri, false, 300); if ((result == null) || (result.Tables.Count == 0)) { MessageBox.Show(this, "La sp non ha restituito risultati"); return; } DataTable t = result.Tables[0]; dataGrid1.TableStyles.Clear(); dataGrid1.DataSource = null; if (t.Columns.Contains("message")) { t.Columns["message"].Caption = "Spiegazione errore"; HelpForm.SetDataGrid(dataGrid1, t); formatgrids FF = new formatgrids(dataGrid1); FF.AutosizeColumnWidth(); MessageBox.Show(this, "Ci sono degli errori, pertanto non è stato generato il file!"); return; } if (txtCartella.Text == "") { DialogResult dr = folderBrowserDialog1.ShowDialog(this); if (dr == DialogResult.OK) { txtCartella.Text = folderBrowserDialog1.SelectedPath; } else { folderBrowserDialog1.SelectedPath = txtCartella.Text; HelpForm.FocusControl(txtCartella); MessageBox.Show(this, "Specificare il percorso del file"); return; } } string nomeFile = Mandati ? Meta.GetSys("esercizio") + "_mandato" + "_" + nDoc : Meta.GetSys("esercizio") + "_reversale" + "_" + nDoc; txtFile.Text = Path.Combine(txtCartella.Text, nomeFile + "." + fileExtension); try { StreamWriter sw = new StreamWriter(txtFile.Text, false, Encoding.Default); foreach (DataRow r in t.Rows) { sw.WriteLine(r[0]); } sw.Flush(); sw.Close(); sw.Dispose(); } catch (Exception e1) { QueryCreator.ShowException("Errore nel salvataggio del file " + txtFile.Text, e1); return; } MessageBox.Show(this, "File della trasmissione salvato in " + txtFile.Text); }