Пример #1
0
        public Retorno RetornaPedidoComanda(int intNumero)
        {
            var objRetorno = new Retorno();

            try
            {
                tbMesa objMesa = null;
                objMesa = _objCtx.tbMesa.AsNoTracking().Include(ped => ped.tbPedido.tbFuncionario).FirstOrDefault(mes => mes.mes_numero == intNumero);
                if (objMesa != null)
                {
                    objRetorno.intCodigoErro = 0;
                    objRetorno.objRetorno    = objMesa;
                }
                else
                {
                    objRetorno.intCodigoErro = 48;
                    objRetorno.strMsgErro    = "Registro não encontrado";
                }
            }
            catch (Exception ex)
            {
                Util.LogErro(ex);
                objRetorno.intCodigoErro        = 16;
                objRetorno.strMsgErro           = ex.Message;
                objRetorno.strExceptionToString = ex.ToString();
            }
            return(objRetorno);
        }
Пример #2
0
        public Retorno FecharMesa(tbMesa objMesa, int intFunCodigo)
        {
            var objRetorno   = new Retorno();
            var strValidacao = ValidaFechamentoMesa(objMesa);

            try
            {
                if (strValidacao == string.Empty)
                {
                    if (objMesa.tbPedido.ped_codigo > 0)
                    {
                        objMesa.tbPedido.ped_status = enStatusPedido.F.ToString();
                        using (var objBllPedido = new Pedidos())
                        {
                            objRetorno = objBllPedido.SalvarPedido(objMesa.tbPedido, enOrigemPedido.Comanda, intFunCodigo);
                        }
                        if (objRetorno.intCodigoErro == 0)
                        {
                            objMesa.tbPedido   = null;
                            objMesa.mes_status = enStatusMesa.L.ToString();//"L";
                            objMesa.ped_codigo = null;
                            var objMesaContexto = _objCtx.tbMesa.FirstOrDefault(mes => mes.mes_codigo == objMesa.mes_codigo);
                            _objCtx.Entry(objMesaContexto).CurrentValues.SetValues(objMesa);
                            _objCtx.SaveChanges();
                            using (var objBll = new Auditoria(ref _objCtx, ref _objTransacao))
                                objBll.SalvarAuditoria(objMesa.mes_codigo, enOperacao.Outro, objMesa, intFunCodigo);

                            objRetorno = RetornaMesa(objMesa.mes_codigo);
                        }
                    }
                    else
                    {
                        objRetorno.intCodigoErro = 48;
                        objRetorno.strMsgErro    = "Pedido não encontrado!";
                    }
                }
                else
                {
                    objRetorno.intCodigoErro = 48;
                    objRetorno.strMsgErro    = strValidacao;
                }
            }
            catch (Exception ex)
            {
                Util.LogErro(ex);
                objRetorno.intCodigoErro        = 16;
                objRetorno.strMsgErro           = ex.Message;
                objRetorno.strExceptionToString = ex.ToString();
            }
            return(objRetorno);
        }
Пример #3
0
        public Retorno SalvarMesa(tbMesa objMesa, int intFunCodigo)
        {
            var objRetorno   = new Retorno();
            var strValidacao = ValidaMesa(objMesa);

            try
            {
                if (strValidacao == string.Empty)
                {
                    var intPedCodigo = objMesa.tbPedido.ped_codigo;
                    using (var objBllPedido = new Pedidos())
                    {
                        objRetorno = objBllPedido.SalvarPedido(objMesa.tbPedido, enOrigemPedido.Comanda, intFunCodigo);
                    }
                    if (objRetorno.intCodigoErro == 0)
                    {
                        var objPedidoAux = objRetorno.objRetorno as tbPedido;
                        if (intPedCodigo == 0)
                        {
                            objMesa.tbPedido   = null;
                            objMesa.mes_status = enStatusMesa.O.ToString();//O
                            if (objPedidoAux != null)
                            {
                                objMesa.ped_codigo = objPedidoAux.ped_codigo;
                            }
                            var objMesaContexto = _objCtx.tbMesa.FirstOrDefault(mes => mes.mes_codigo == objMesa.mes_codigo);
                            _objCtx.Entry(objMesaContexto).CurrentValues.SetValues(objMesa);
                            _objCtx.SaveChanges();
                            using (var objBll = new Auditoria(ref _objCtx, ref _objTransacao))
                                objBll.SalvarAuditoria(objMesa.mes_codigo, enOperacao.Outro, objMesa, intFunCodigo);
                        }
                        objMesa.tbPedido      = objPedidoAux;
                        objRetorno.objRetorno = objMesa;
                    }
                }
                else
                {
                    objRetorno.intCodigoErro = 48;
                    objRetorno.strMsgErro    = strValidacao;
                }
            }
            catch (Exception ex)
            {
                FrameworkUtil.LogErro(ex);
                objRetorno.intCodigoErro        = 16;
                objRetorno.strMsgErro           = ex.Message;
                objRetorno.strExceptionToString = ex.ToString();
            }
            return(objRetorno);
        }
Пример #4
0
 private string ValidaFechamentoMesa(tbMesa objMesa)
 {
     if (objMesa.tbPedido == null)
     {
         return("Nenhum pedido para a mesa informada.");
     }
     if (objMesa.tbPedido.tbPedidoProduto.Count == 0)
     {
         return("Nenhum produto informado.");
     }
     if (objMesa.tbPedido.fpg_codigo == null || objMesa.tbPedido.fpg_codigo == 0)
     {
         return("Forma de pagamento não informada.");
     }
     return(objMesa.tbPedido.ped_valorRecebido == 0 ? "Valor recebido não informado." : string.Empty);
 }
Пример #5
0
        public Retorno RetornaPedidoMesa(int intNumero, string strTerminal)
        {
            var objRetorno = new Retorno();

            try
            {
                tbMesa objMesa = null;
                objMesa = _objCtx.tbMesa.AsNoTracking().Include(ped => ped.tbPedido.tbFuncionario)
                          .Include(ped => ped.tbPedido.tbFormaPagamento)
                          .Include(ped => ped.tbPedido.tbPedidoProduto.Select(pro => pro.tbProduto))
                          .FirstOrDefault(mes => mes.mes_numero == intNumero);
                if (objMesa != null)
                {
                    //Seleciona a mesa no banco de dados

                    var objMesaContexto = _objCtx.tbMesa.FirstOrDefault(mes => mes.mes_terminal == strTerminal);
                    if (objMesaContexto != null && objMesaContexto.mes_numero != intNumero)
                    {
                        objMesaContexto.mes_terminal         = null;
                        _objCtx.Entry(objMesaContexto).State = EntityState.Modified;
                    }

                    objMesa.mes_terminal         = strTerminal;
                    _objCtx.Entry(objMesa).State = EntityState.Modified;
                    _objCtx.SaveChanges();

                    objRetorno.intCodigoErro = 0;
                    objRetorno.objRetorno    = objMesa;
                }
                else
                {
                    objRetorno.intCodigoErro = 48;
                    objRetorno.strMsgErro    = "Registro não encontrado";
                }
            }
            catch (Exception ex)
            {
                Util.LogErro(ex);
                objRetorno.intCodigoErro        = 16;
                objRetorno.strMsgErro           = ex.Message;
                objRetorno.strExceptionToString = ex.ToString();
            }
            return(objRetorno);
        }
Пример #6
0
        private void Selecionar(object objParam)
        {
            if (objParam != null)
            {
                int intNumero;
                if (int.TryParse(objParam.ToString(), out intNumero))
                {
                    Retorno objRetorno;
                    using (var objBLL = new Pedidos())
                    {
                        objRetorno = objBLL.RetornaPedidoMesa(intNumero, FrameworkUtil.objConfigLocal.strTerminal);
                    }
                    if (objRetorno.intCodigoErro == 0)
                    {
                        tbMesa objMesa = (tbMesa)objRetorno.objRetorno;
                        foreach (var objMesaAux in arrMesaDetalheViewModel)
                        {
                            if (objMesaAux.objMesa.mes_codigo == objMesa.mes_codigo)
                            {
                                objMesaAux.mes_terminal = FrameworkUtil.objConfigLocal.strTerminal;
                            }
                            else
                            {
                                objMesaAux.mes_terminal = null;
                            }
                        }
                        if (objMesa.tbPedido == null)
                        {
                            tbPedido objPedidoAux = new tbPedido();
                            objPedidoAux.cli_codigo     = FrameworkUtil.objConfigStorage.objConfiguracao.cli_codigo;
                            objPedidoAux.fpg_codigo     = FrameworkUtil.objConfigStorage.objConfiguracao.fpg_codigo;
                            objPedidoAux.ped_numeroMesa = intNumero;

                            objPedidoAux.tbFuncionario = new tbFuncionario();

                            objPedidoAux.tbFormaPagamento = new tbFormaPagamento();

                            objPedidoAux.tbPedidoProduto = new List <tbPedidoProduto>();

                            tbPedidoProduto objPedidoProduto = new tbPedidoProduto();
                            objPedidoProduto.tbProduto = new tbProduto();
                            objPedidoAux.tbPedidoProduto.Add(objPedidoProduto);

                            //var objCaixa = arrCaixa.FirstOrDefault(cai => cai.fun_codigo == FrameworkUtil.objConfigStorage.objFuncionario.fun_codigo);
                            //if (objCaixa != null)
                            //    objPedidoAux.cai_codigo = objCaixa.cai_codigo;

                            objMesa.tbPedido = objPedidoAux;
                        }
                        MesaPedidoViewModel objMesaPedidoViewModelAux = new MesaPedidoViewModel();
                        objMesaPedidoViewModelAux.OnDispose += ObjMesaPedidoViewModel_OnDispose;
                        objMesaPedidoViewModelAux.objPedido  = objMesa.tbPedido;
                        objMesaPedidoViewModel = objMesaPedidoViewModelAux;
                    }
                    else
                    {
                        MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro));
                    }
                }
            }



            //if (objParam != null)
            //{
            //    int intNumero;
            //    if (int.TryParse(objParam.ToString(), out intNumero))
            //    {
            //        Retorno objRetorno;
            //        using (var objBLL = new Pedidos())
            //        {
            //            objRetorno = objBLL.RetornaPedidoMesa(intNumero);
            //        }
            //        if (objRetorno.intCodigoErro == 0)
            //        {
            //            tbMesa objMesa = (tbMesa)objRetorno.objRetorno;
            //            foreach (var objMesaAux in arrMesaDetalheViewModel)
            //            {
            //                if (objMesaAux.objMesa.mes_codigo == objMesa.mes_codigo)
            //                    objMesaAux.mes_selecionada = true;
            //                else
            //                    objMesaAux.mes_selecionada = false;
            //            }
            //            if (objMesa.tbPedido == null)
            //            {
            //                tbPedido objPedidoAux = new tbPedido();
            //                objPedidoAux.cli_codigo = FrameworkUtil.objConfigStorage.objConfiguracao.cli_codigo;
            //                objPedidoAux.fpg_codigo = FrameworkUtil.objConfigStorage.objConfiguracao.fpg_codigo;

            //                objPedidoAux.tbFuncionario = new tbFuncionario();

            //                objPedidoAux.tbFormaPagamento = new tbFormaPagamento();

            //                objPedidoAux.tbPedidoProduto = new List<tbPedidoProduto>();

            //                tbPedidoProduto objPedidoProduto = new tbPedidoProduto();
            //                objPedidoProduto.tbProduto = new tbProduto();
            //                objPedidoAux.tbPedidoProduto.Add(objPedidoProduto);

            //                //var objCaixa = arrCaixa.FirstOrDefault(cai => cai.fun_codigo == FrameworkUtil.objConfigStorage.objFuncionario.fun_codigo);
            //                //if (objCaixa != null)
            //                //    objPedidoAux.cai_codigo = objCaixa.cai_codigo;

            //                objMesa.tbPedido = objPedidoAux;
            //            }
            //            MesaPedidoViewModel objMesaPedidoViewModelAux = new MesaPedidoViewModel();
            //            objMesaPedidoViewModelAux.OnDispose += ObjMesaPedidoViewModel_OnDispose;
            //            objMesaPedidoViewModelAux.objPedido = objMesa.tbPedido;
            //            objMesaPedidoViewModel = objMesaPedidoViewModelAux;
            //        }
            //        else
            //        {
            //            MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro));
            //        }
            //        RaisePropertyChanged("mes_numero");
            //    }
            //}
        }
Пример #7
0
 private string ValidaMesa(tbMesa objMesa)
 {
     return(objMesa.tbPedido == null ? "Nenhum pedido para a mesa informada." : string.Empty);
 }
Пример #8
0
 public MesaDetalheViewModel(tbMesa _objMesa)
 {
     objMesa = _objMesa;
 }