Ejemplo n.º 1
0
        public void Validar(uint idPedidoOuLiberarPedido)
        {
            if (!PedidoConfig.LiberarPedido)
            {
                if (!PedidoDAO.Instance.PedidoExists(null, idPedidoOuLiberarPedido))
                {
                    throw new Exception("Não existe nenhum pedido com o número passado.");
                }
                else
                {
                    Glass.Data.Model.Pedido.SituacaoPedido situacao = PedidoDAO.Instance.ObtemSituacao(null, idPedidoOuLiberarPedido);

                    if (situacao == Glass.Data.Model.Pedido.SituacaoPedido.Cancelado)
                    {
                        throw new Exception("Este pedido foi cancelado.");
                    }

                    else if (situacao != Glass.Data.Model.Pedido.SituacaoPedido.Confirmado)
                    {
                        throw new Exception("Este pedido ainda não foi confirmado.");
                    }

                    else if (PedidoDAO.Instance.ObtemTipoVenda(null, idPedidoOuLiberarPedido) == (int)Glass.Data.Model.Pedido.TipoVendaPedido.AVista)
                    {
                        throw new Exception("Este pedido não possui contas a receber.");
                    }
                }
            }
            else
            {
                if (!LiberarPedidoDAO.Instance.LiberacaoExists(idPedidoOuLiberarPedido))
                {
                    throw new Exception("Não existe nenhuma liberação com o número passado.");
                }
                else
                {
                    var liberacao = LiberarPedidoDAO.Instance.GetElement(idPedidoOuLiberarPedido);

                    if (liberacao.Situacao == (uint)Glass.Data.Model.LiberarPedido.SituacaoLiberarPedido.Cancelado)
                    {
                        throw new Exception("Esta liberação foi cancelada.");
                    }

                    else if (liberacao.TipoPagto == (int)Glass.Data.Model.LiberarPedido.TipoPagtoEnum.AVista)
                    {
                        throw new Exception("Esta liberação não possui contas a receber.");
                    }
                }
            }
        }
Ejemplo n.º 2
0
        protected void imbPesq_Click(object sender, ImageClickEventArgs e)
        {
            uint idPedido = Glass.Conversoes.StrParaUint(txtNumPedido.Text);

            if (!PedidoDAO.Instance.PedidoExists(idPedido))
            {
                Glass.MensagemAlerta.ShowMsg("Não existe nenhum pedido com o número passado.", Page);
                tbSaida.Visible = false;
            }
            else
            {
                Glass.Data.Model.Pedido.SituacaoPedido situacao = PedidoDAO.Instance.ObtemSituacao(null, idPedido);
                var tipoEntrega = PedidoDAO.Instance.ObtemTipoEntrega(idPedido);

                if (PedidoDAO.Instance.IsProducao(null, idPedido))
                {
                    Glass.MensagemAlerta.ShowMsg("Este pedido é um pedido para produção. Não é possível selecionar um pedido desse tipo.", Page);
                    tbSaida.Visible = false;
                }
                else if (situacao == Glass.Data.Model.Pedido.SituacaoPedido.Cancelado)
                {
                    Glass.MensagemAlerta.ShowMsg("Este pedido foi cancelado.", Page);
                    tbSaida.Visible = false;
                }
                else if (situacao != Glass.Data.Model.Pedido.SituacaoPedido.Confirmado)
                {
                    Glass.MensagemAlerta.ShowMsg(string.Format("Este pedido ainda não foi {0}.",
                                                               Configuracoes.PedidoConfig.LiberarPedido ? "liberado" : "confirmado"), Page);
                    tbSaida.Visible = false;
                }
                else
                {
                    tbSaida.Visible = true;
                }
            }

            drpLoja.AutoPostBack = false;
            tbSaidaProd.Visible  = false;
        }
Ejemplo n.º 3
0
        public string GetDadosPedido(string idPedido, string idTrocaDev)
        {
            try
            {
                Glass.Data.Model.Pedido.SituacaoPedido situacao = PedidoDAO.Instance.ObtemSituacao(null, Glass.Conversoes.StrParaUint(idPedido));

                if (situacao != Glass.Data.Model.Pedido.SituacaoPedido.Confirmado && situacao != Glass.Data.Model.Pedido.SituacaoPedido.LiberadoParcialmente)
                {
                    return("Erro;A troca/devolução só pode ser feita se o pedido estiver " + (PedidoConfig.LiberarPedido ? "liberado" : "confirmado") + ".");
                }

                bool pedidosReposicao = PedidoDAO.Instance.IsPedidoReposto(null, Glass.Conversoes.StrParaUint(idPedido)) &&
                                        PedidoReposicaoDAO.Instance.PedidoParaTroca(PedidoDAO.Instance.IdReposicao(Glass.Conversoes.StrParaUint(idPedido)).GetValueOrDefault());

                string trocasString = TrocaDevolucaoDAO.Instance.ObtemIdTrocaDevPorPedido(Glass.Conversoes.StrParaUint(idPedido));
                var    trocas       = new List <string>((trocasString ?? String.Empty).Split(','));

                for (int i = trocas.Count - 1; i >= 0; i--)
                {
                    if (String.IsNullOrEmpty(trocas[i]) || trocas[i] == idTrocaDev)
                    {
                        trocas.RemoveAt(i);
                    }
                }

                trocasString = String.Join(", ", trocas.ToArray());

                return("Ok;" + PedidoDAO.Instance.ObtemIdCliente(null, Glass.Conversoes.StrParaUint(idPedido)) + ";" +
                       trocasString + ";" +
                       pedidosReposicao.ToString().ToLower());
            }
            catch (Exception ex)
            {
                return("Erro;" + Glass.MensagemAlerta.FormatErrorMsg("Falha ao buscar cliente do pedido.", ex));
            }
        }