public static void ProcessarDesdobroEspecial(string Nr_pedidoorig, CamadaDados.Balanca.TList_DesdobroEspecial val, DateTime?Dt_aplicacao) { val.ForEach(p => { if (p.Id_transf == null) { //Para cada item da lista, criar objeto Transferencia using (TFTransfContrato fTransf = new TFTransfContrato()) { fTransf.Nr_pedidoorig = Nr_pedidoorig; fTransf.Nr_pedidodest = p.Nr_pedidodeststr; fTransf.Dt_transf = Dt_aplicacao; fTransf.Qtd_transf = p.Peso_desdobro; fTransf.St_desdobroespecial = true; if (fTransf.ShowDialog() == System.Windows.Forms.DialogResult.OK) { //Para cada objeto Transferencia, chamar metodo processar para criar objetos NF correspondentes TProcessaTransferencia.GerarTransferencia(fTransf.rTransf); //Acrescentar objeto transferencia a p.rTransf = fTransf.rTransf; } else { throw new Exception("Obrigatorio informar dados transferencia para processar desdobros especiais."); } } } }); }
private void gDesdobroEspecial_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (gDesdobroEspecial.Columns[e.ColumnIndex].SortMode == DataGridViewColumnSortMode.NotSortable) { return; } if (bsDesdobroEspecial.Count < 1) { return; } PropertyDescriptorCollection lP = TypeDescriptor.GetProperties(new CamadaDados.Balanca.TRegistro_DesdobroEspecial()); CamadaDados.Balanca.TList_DesdobroEspecial lComparer; SortOrder direcao = SortOrder.None; if ((gDesdobroEspecial.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.None) || (gDesdobroEspecial.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.Descending)) { lComparer = new CamadaDados.Balanca.TList_DesdobroEspecial(lP.Find(gDesdobroEspecial.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Ascending); foreach (DataGridViewColumn c in gDesdobroEspecial.Columns) { c.HeaderCell.SortGlyphDirection = SortOrder.None; } direcao = SortOrder.Ascending; } else { lComparer = new CamadaDados.Balanca.TList_DesdobroEspecial(lP.Find(gDesdobroEspecial.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Descending); foreach (DataGridViewColumn c in gDesdobroEspecial.Columns) { c.HeaderCell.SortGlyphDirection = SortOrder.None; } direcao = SortOrder.Descending; } (bsDesdobroEspecial.List as CamadaDados.Balanca.TList_DesdobroEspecial).Sort(lComparer); bsDesdobroEspecial.ResetBindings(false); gDesdobroEspecial.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection = direcao; }