Beispiel #1
0
 private void Quantidade_Leave(object sender, EventArgs e)
 {
     if (bsItensFat.Current != null)
     {
         if (Quantidade.Value.Equals(decimal.Zero))
         {
             MessageBox.Show("Obrigatório informar quantidade.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             Quantidade.Focus();
             return;
         }
         (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Quantidade  = Quantidade.Value;
         (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Vl_subtotal = Quantidade.Value *
                                                                                                       (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Vl_unitario;
         bsItensFat.ResetCurrentItem();
         if ((bsItensFat.List as CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item).Sum(p => p.Vl_subtotal) >
             (bsItens.Current as CamadaDados.Faturamento.Orcamento.TRegistro_Orcamento_Item).Vl_faturar)
         {
             MessageBox.Show("Valor faturado maior que o saldo disponivel para faturar.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             Quantidade.Focus();
             return;
         }
         if (!CD_Produto.Focused)
         {
             Vl_Unitario.Focus();
         }
         bsItensFat_PositionChanged(this, new EventArgs());
     }
 }
Beispiel #2
0
 private void Vl_Unitario_Leave(object sender, EventArgs e)
 {
     if (bsItensFat.Current != null)
     {
         if (Vl_Unitario.Value.Equals(decimal.Zero))
         {
             MessageBox.Show("Não é permitido vender item sem valor.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             Vl_Unitario.Focus();
             return;
         }
         //Buscar custo produto
         decimal vl_custo = decimal.Zero;
         CamadaNegocio.Estoque.TCN_LanEstoque.VlMedioEstoque((bsOrcamento.Current as CamadaDados.Faturamento.Orcamento.TRegistro_Orcamento).Cd_empresa,
                                                             (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Cd_produto,
                                                             ref vl_custo,
                                                             null);
         if (Vl_Unitario.Value < vl_custo)
         {
             using (Proc_Commoditties.TFLanSessaoPDV fSessao = new Proc_Commoditties.TFLanSessaoPDV())
             {
                 fSessao.Mensagem = "PERMITIR VENDA ABAIXO CUSTO";
                 if (fSessao.ShowDialog() == DialogResult.OK)
                 {
                     //Verificar se o usuario tem permissao para venda abaixo custo
                     if (CamadaNegocio.Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(fSessao.Usuario, "PERMITIR VENDA ABAIXO CUSTO", null))
                     {
                         (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Vl_unitario = Vl_Unitario.Value;
                         (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Vl_subtotal = Quantidade.Value * Vl_Unitario.Value;
                         bsItensFat.ResetCurrentItem();
                         if ((bsItensFat.List as CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item).Sum(p => p.Vl_subtotal) >
                             (bsItens.Current as CamadaDados.Faturamento.Orcamento.TRegistro_Orcamento_Item).Vl_faturar)
                         {
                             MessageBox.Show("Valor faturado maior que o saldo disponivel para faturar.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             Vl_Unitario.Focus();
                             return;
                         }
                         ds_observacao.Focus();
                         bsItensFat_PositionChanged(this, new EventArgs());
                     }
                     else
                     {
                         Vl_Unitario.Focus();
                     }
                 }
                 else
                 {
                     Vl_Unitario.Focus();
                 }
             }
         }
         else
         {
             (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Vl_unitario = Vl_Unitario.Value;
             (bsItensFat.Current as CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item).Vl_subtotal = Quantidade.Value * Vl_Unitario.Value;
             bsItensFat.ResetCurrentItem();
             if ((bsItensFat.List as CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item).Sum(p => p.Vl_subtotal) >
                 (bsItens.Current as CamadaDados.Faturamento.Orcamento.TRegistro_Orcamento_Item).Vl_faturar)
             {
                 MessageBox.Show("Valor faturado maior que o saldo disponivel para faturar.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 Vl_Unitario.Focus();
                 return;
             }
             bsItensFat_PositionChanged(this, new EventArgs());
             ds_observacao.Focus();
         }
     }
 }