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."); } } } }
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; }
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)); } }