private void gProduto_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (gProduto.Columns[e.ColumnIndex].SortMode == DataGridViewColumnSortMode.NotSortable) { return; } if (bsProduto.Count < 1) { return; } PropertyDescriptorCollection lP = TypeDescriptor.GetProperties(new TRegistro_CadProduto()); TList_CadProduto lComparer; System.Windows.Forms.SortOrder direcao = System.Windows.Forms.SortOrder.None; if ((gProduto.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == System.Windows.Forms.SortOrder.None) || (gProduto.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == System.Windows.Forms.SortOrder.Descending)) { lComparer = new TList_CadProduto(lP.Find(gProduto.Columns[e.ColumnIndex].DataPropertyName, true), System.Windows.Forms.SortOrder.Ascending); foreach (DataGridViewColumn c in gProduto.Columns) { c.HeaderCell.SortGlyphDirection = System.Windows.Forms.SortOrder.None; } direcao = System.Windows.Forms.SortOrder.Ascending; } else { lComparer = new TList_CadProduto(lP.Find(gProduto.Columns[e.ColumnIndex].DataPropertyName, true), System.Windows.Forms.SortOrder.Descending); foreach (DataGridViewColumn c in gProduto.Columns) { c.HeaderCell.SortGlyphDirection = System.Windows.Forms.SortOrder.None; } direcao = System.Windows.Forms.SortOrder.Descending; } (bsProduto.List as TList_CadProduto).Sort(lComparer); bsProduto.ResetBindings(false); gProduto.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection = direcao; }
private void bbLerArquivo_Click(object sender, EventArgs e) { using (OpenFileDialog op = new OpenFileDialog()) { op.Filter = "Arquivo CSV|*.csv"; if (op.ShowDialog() == DialogResult.OK) { using (StreamReader rd = new StreamReader(op.FileName)) { string linha = null; while ((linha = rd.ReadLine()) != null) { string[] colunas = linha.Split(';'); if (colunas.Length.Equals(2)) { TList_CadProduto lProd = TCN_CadProduto.Busca(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, "A", colunas[0], string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, 1, string.Empty, string.Empty, null); if (lProd.Count > 0) { decimal qtd = decimal.Zero; decimal.TryParse(colunas[1], out qtd); lProd[0].Qt_dias_PrazoGarantia = qtd; bsProduto.Add(lProd[0]); } else { bsProduto.Add(new TRegistro_CadProduto { Codigo_alternativo = colunas[0], Qt_dias_PrazoGarantia = decimal.Parse(colunas[1]) }); } } } if (bsProduto.Count > 0) { int cont = (bsProduto.List as IEnumerable <TRegistro_CadProduto>).Count(p => string.IsNullOrEmpty(p.CD_Produto)); if (cont > 0) { tslRegInconsistente.Text = "Registros Inconsistentes {" + cont.ToString() + " }"; } else { tslRegInconsistente.Text = string.Empty; } } else { tslRegInconsistente.Text = string.Empty; } } } } }
public static string Gravar(TRegistro_Adicionais val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Adicionais qtb_orc = new TCD_Adicionais(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } string ret = string.Empty; if (string.IsNullOrEmpty(val.CD_Grupo_prod)) { ret = qtb_orc.Gravar(val); } else { TList_CadProduto lprod = new TList_CadProduto(); lprod = TCN_CadProduto.Busca(string.Empty, string.Empty, val.CD_Grupo_prod, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, 0, string.Empty, string.Empty, null); lprod.ForEach(p => { val.CD_Produto = p.CD_Produto; ret = qtb_orc.Gravar(val); }); } // val.Id_Local = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_ID_Local")); if (st_transacao) { qtb_orc.Banco_Dados.Commit_Tran(); } return(val.CD_Grupo.ToString()); } catch (Exception ex) { if (st_transacao) { qtb_orc.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar adicional: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }