예제 #1
0
        private void BuscarAbastecidas()
        {
            if (cbEmpresa.SelectedItem != null &&
                dt_retirada.Text.IsDateTime())
            {
                TpBusca[] filtro = new TpBusca[2];
                filtro[0].vNM_Campo = "a.cd_empresa";
                filtro[0].vOperador = "=";
                filtro[0].vVL_Busca = "'" + (cbEmpresa.SelectedItem as CamadaDados.Diversos.TRegistro_CadEmpresa).Cd_empresa.Trim() + "'";
                filtro[1].vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.DT_Abast)))";
                filtro[1].vOperador = "<=";
                filtro[1].vVL_Busca = "'" + DateTime.Parse(dt_retirada.Text).ToString("yyyyMMdd") + "'";
                if (dtUltimaRetirada.Text.IsDateTime())
                {
                    Estruturas.CriarParametro(ref filtro, "convert(datetime, floor(convert(decimal(30,10), a.DT_Abast)))",
                                              "'" + DateTime.Parse(dtUltimaRetirada.Text).ToString("yyyyMMdd") + "'", ">");
                }
                TList_AbastItens lAbast = new TCD_AbastItens().Select(filtro, 0, string.Empty);
                if (lAbast.Count > 0)
                {
                    vlAbast.Text            = lAbast.Sum(x => x.Vl_subtotal).ToString("C");
                    bsAbastItens.DataSource = lAbast;
                }
                else
                {
                    bsAbastItens.Clear();
                    vlAbast.Clear();
                }

                filtro = new TpBusca[2];
                filtro[0].vNM_Campo = "a.cd_empresa";
                filtro[0].vOperador = "=";
                filtro[0].vVL_Busca = "'" + (cbEmpresa.SelectedItem as CamadaDados.Diversos.TRegistro_CadEmpresa).Cd_empresa.Trim() + "'";
                filtro[1].vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.DT_Medicao)))";
                filtro[1].vOperador = "<=";
                filtro[1].vVL_Busca = "'" + DateTime.Parse(dt_retirada.Text).ToString("yyyyMMdd") + "'";
                if (dtUltimaRetirada.IsDateTime())
                {
                    Estruturas.CriarParametro(ref filtro, "convert(datetime, floor(convert(decimal(30,10), a.DT_Medicao)))",
                                              "'" + DateTime.Parse(dtUltimaRetirada.Text).ToString("yyyyMMdd") + "'", ">");
                }
                TList_MedicaoProdutoItens lMedicao = new TCD_MedicaoProdutoItens().Select(filtro, 0, string.Empty);
                if (lMedicao.Count > 0)
                {
                    vlMedicao.Text       = lMedicao.Sum(x => x.Vl_subtotal).ToString("C");
                    bsMedicao.DataSource = lMedicao;
                }
                else
                {
                    vlMedicao.Clear();
                    bsMedicao.Clear();
                }
            }
        }
예제 #2
0
        public static string Gravar(TRegistro_AbastItens val,
                                    BancoDados.TObjetoBanco banco)
        {
            bool           st_transacao = false;
            TCD_AbastItens qtb_itens    = new TCD_AbastItens();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_itens.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_itens.Banco_Dados = banco;
                }

                qtb_itens.Gravar(val);

                if (st_transacao)
                {
                    qtb_itens.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_itens.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar item: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_itens.deletarBanco_Dados();
                }
            }
        }
예제 #3
0
        public static TList_AbastItens Gravar(TRegistro_AbastItens val,
                                              CamadaDados.Faturamento.Entrega.TList_ItensCargaAvulsa lItensCarga,
                                              BancoDados.TObjetoBanco banco)
        {
            bool             st_transacao = false;
            TList_AbastItens retorno      = new TList_AbastItens();
            TCD_AbastItens   qtb_abast    = new TCD_AbastItens();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_abast.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_abast.Banco_Dados = banco;
                }
                decimal total = val.Quantidade;
                decimal abast = decimal.Zero;
                foreach (CamadaDados.Faturamento.Entrega.TRegistro_ItensCargaAvulsa r in lItensCarga)
                {
                    if (abast < total)
                    {
                        decimal qtd = (total - abast) > r.Saldo ? r.Saldo : (total - abast);
                        val.Quantidade   = qtd;
                        val.Id_carga     = r.Id_carga;
                        val.Id_itemcarga = r.Id_item;
                        val.Cd_produto   = r.Cd_produto;
                        val.Ds_produto   = r.Ds_produto;
                        val.Sigla        = r.Sigla;
                        Gravar(val, qtb_abast.Banco_Dados);
                        retorno.Add(val);
                        abast += qtd;
                    }
                    else
                    {
                        break;
                    }
                }
                if (st_transacao)
                {
                    qtb_abast.Banco_Dados.Commit_Tran();
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_abast.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar item: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_abast.deletarBanco_Dados();
                }
            }
        }