コード例 #1
0
        public Retorno SalvarEntregador(tbPedido objPedido, int intFunCodigo)
        {
            var objRetorno = new Retorno();

            try
            {
                objPedido.tbFuncionarioEntregador = null;
                objPedido.tbPedidoProduto         = null;
                objPedido.tbFormaPagamento        = null;
                objPedido.ped_status      = enStatusPedido.E.ToString();//"E";
                objPedido.ped_dataEntrega = DateTime.Now;
                var objPedidoContexto = _objCtx.tbPedido.FirstOrDefault(ped => ped.ped_codigo == objPedido.ped_codigo);
                _objCtx.Entry(objPedidoContexto).CurrentValues.SetValues(objPedido);
                _objCtx.SaveChanges();
                using (var objBll = new Auditoria(ref _objCtx, ref _objTransacao))
                    objBll.SalvarAuditoria(objPedido.ped_codigo, enOperacao.Outro, objPedido, intFunCodigo);
                objRetorno = RetornaPedido(objPedido.ped_codigo, null, enOrigemPedido.Entrega);
            }
            catch (Exception ex)
            {
                Util.LogErro(ex);
                objRetorno.intCodigoErro        = 16;
                objRetorno.strMsgErro           = ex.Message;
                objRetorno.strExceptionToString = ex.ToString();
            }
            return(objRetorno);
        }
コード例 #2
0
        // GET: /Pedido/Create
        public ActionResult Create()
        {
            try
            {
                ViewBag.ped_UsuarioCrea     = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario");
                ViewBag.ped_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario");
                ViewBag.clte_Id             = new SelectList(db.tbCliente, "clte_Id", "clte_RTN_Identidad_Pasaporte");
                ViewBag.fact_Id             = new SelectList(db.tbFactura, "fact_Id", "fact_Codigo");
                ViewBag.suc_Id   = new SelectList(db.tbSucursal, "suc_Id", "mun_Codigo");
                ViewBag.esped_Id = new SelectList(db.tbEstadoPedido, "esped_Id", "esped_Descripcion");
                ViewBag.suc_Id   = new SelectList(db.tbSucursal, "suc_Id", "mun_Codigo");
                ViewBag.Cliente  = db.tbCliente.ToList();

                Session["tbPedidoDetalle"] = null;
                //ViewBag.Producto = db.tbProducto.ToList();
                tbPedido Pedido = new tbPedido();
                Pedido.esped_Id = Helpers.Pendiente;
                Pedido.suc_Id   = 1;
                return(View(Pedido));
            }
            catch (Exception Ex)
            {
                return(View());
            }
        }
コード例 #3
0
        public Retorno RetornaPedido(int intCodigo, enNavegacao?enDirecao, enOrigemPedido enOrigem)
        {
            var objRetorno = new Retorno();

            try
            {
                var      strOrigem = ((char)enOrigem).ToString();
                tbPedido objPedido = null;
                if (enDirecao == null)
                {
                    objPedido = _objCtx.tbPedido.AsNoTracking().Include(ppr => ppr.tbPedidoProduto.Select(pro => pro.tbProduto))
                                .Include(cli => cli.tbCliente)
                                .Include(cen => cen.tbCliente.tbClienteEndereco.Select(bai => bai.tbBairro))
                                .Include(ctl => ctl.tbCliente.tbClienteTelefone)
                                .Include(fun => fun.tbFuncionarioEntregador)
                                .Include(fpg => fpg.tbFormaPagamento)
                                .FirstOrDefault(ped => ped.ped_codigo == intCodigo && ped.ped_origem == strOrigem);
                }
                if (enDirecao == enNavegacao.Proximo)
                {
                    objPedido = _objCtx.tbPedido.AsNoTracking().Include(ppr => ppr.tbPedidoProduto.Select(pro => pro.tbProduto))
                                .Include(cli => cli.tbCliente)
                                .Include(cen => cen.tbCliente.tbClienteEndereco.Select(bai => bai.tbBairro))
                                .Include(ctl => ctl.tbCliente.tbClienteTelefone)
                                .Include(fun => fun.tbFuncionarioEntregador)
                                .Include(fpg => fpg.tbFormaPagamento)
                                .Where(ped => ped.ped_codigo > intCodigo && ped.ped_origem == strOrigem)
                                .OrderBy(ped => ped.ped_codigo).FirstOrDefault();
                }
                if (enDirecao == enNavegacao.Anterior)
                {
                    objPedido = _objCtx.tbPedido.AsNoTracking().Include(ppr => ppr.tbPedidoProduto.Select(pro => pro.tbProduto))
                                .Include(cli => cli.tbCliente)
                                .Include(cen => cen.tbCliente.tbClienteEndereco.Select(bai => bai.tbBairro))
                                .Include(ctl => ctl.tbCliente.tbClienteTelefone)
                                .Include(fun => fun.tbFuncionarioEntregador)
                                .Include(fpg => fpg.tbFormaPagamento)
                                .Where(ped => ped.ped_codigo < intCodigo && ped.ped_origem == strOrigem)
                                .OrderByDescending(ped => ped.ped_codigo).FirstOrDefault();
                }
                if (objPedido != null)
                {
                    objRetorno.intCodigoErro = 0;
                    objRetorno.objRetorno    = objPedido;
                }
                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);
        }
コード例 #4
0
        private void Novo(object objParam)
        {
            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.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;
            }

            objPedido = objPedidoAux;
            base.enStatusTelaAtual = enStatusTela.EmInclusaoOuAlteracao;
        }
コード例 #5
0
        public ActionResult DeleteConfirmed(int id)
        {
            tbPedido tbPedido = db.tbPedido.Find(id);

            db.tbPedido.Remove(tbPedido);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #6
0
        public ActionResult EditPedidoTest01(
            [PexAssumeUnderTest] PedidoController target,
            int?id,
            tbPedido tbPedido
            )
        {
            ActionResult result = target.EditPedido(id, tbPedido);

            return(result);
            // TODO: add assertions to method PedidoControllerTest.EditPedidoTest01(PedidoController, Nullable`1<Int32>, tbPedido)
        }
コード例 #7
0
        public ActionResult EditTest01(
            [PexAssumeUnderTest] PedidoController target,
            int?id,
            tbPedido tbPedido
            )
        {
            ActionResult result = target.Edit(id, tbPedido);

            return(result);
            // TODO: agregar aserciones a método PedidoControllerTest.EditTest01(PedidoController, Nullable`1<Int32>, tbPedido)
        }
コード例 #8
0
        // GET: /Pedido/Create
        public ActionResult Create()
        {
            if (Function.GetUserLogin())
            {
                if (Function.GetRol())
                {
                    if (Function.GetUserRols("Pedido/Create"))
                    {
                        //ViewBag.ped_UsuarioCrea = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario");
                        //ViewBag.ped_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario");
                        //ViewBag.clte_Id = new SelectList(db.tbCliente, "clte_Id", "clte_RTN_Identidad_Pasaporte");
                        //ViewBag.fact_Id = new SelectList(db.tbFactura, "fact_Id", "fact_Codigo");
                        //ViewBag.suc_Id = new SelectList(db.tbSucursales, "suc_Id", "mun_Codigo");


                        ViewBag.esped_Id = new SelectList(db.tbEstadoPedido, "esped_Id", "esped_Descripcion");

                        ViewBag.suc_Id             = new SelectList(db.tbSucursales, "suc_Id", "mun_Codigo");
                        ViewBag.Cliente            = db.tbCliente.ToList();
                        Session["tbPedidoDetalle"] = null;
                        ViewBag.Producto           = db.tbProducto.ToList();
                        tbPedido Pedido = new tbPedido();
                        Pedido.esped_Id = Models.Helpers.Pendiente;
                        Pedido.suc_Id   = Usuario();
                        tbSucursales tbSucursal = new tbSucursales();
                        int          suc        = Usuario();
                        try
                        {
                            ViewBag.Sucursal = db.tbSucursales.Find(suc).suc_Descripcion;
                        }
                        catch (Exception)
                        {
                        }


                        return(View(Pedido));
                    }
                    else
                    {
                        return(RedirectToAction("SinAcceso", "Login"));
                    }
                }
                else
                {
                    return(RedirectToAction("SinRol", "Login"));
                }
            }
            else
            {
                return(RedirectToAction("Index", "Login"));
            }
        }
コード例 #9
0
        private string ValidaPedidoMesa(tbPedido objPedido)
        {
            if (objPedido.tbPedidoProduto.Count == 0)
            {
                return("Não foram informados nenhum produto.");
            }

            if (objPedido.fun_codigo == 0)
            {
                return("O funcionário atendente deve ser informado.");
            }
            return(string.Empty);
        }
コード例 #10
0
        public ActionResult EditPedido(int?id, [Bind(Include = "ped_Id,esped_Id,ped_FechaElaboracion,ped_FechaEntrega,clte_Id,suc_Id,fact_Id,ped_EsAnulado,ped_RazonAnulado,ped_UsuarioCrea,ped_FechaCrea")] tbPedido tbPedido)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    tbPedido vPedido = db.tbPedido.Find(id);
                    //db.tbTipoIdentificacion.Add(tbTipoIdentificacion);
                    //db.SaveChanges();
                    //return RedirectToAction("Index");

                    var MensajeError          = "";
                    IEnumerable <object> list = null;
                    list = db.UDP_Vent_tbPedido_Update(tbPedido.ped_Id,
                                                       tbPedido.esped_Id,
                                                       tbPedido.ped_FechaElaboracion,
                                                       tbPedido.ped_FechaEntrega,
                                                       tbPedido.clte_Id,
                                                       tbPedido.suc_Id,
                                                       tbPedido.fact_Id,
                                                       tbPedido.ped_EsAnulado,
                                                       tbPedido.ped_RazonAnulado,
                                                       vPedido.ped_UsuarioCrea,
                                                       vPedido.ped_FechaCrea);
                    foreach (UDP_Vent_tbPedido_Update_Result Pedido in list)
                    {
                        MensajeError = Pedido.MensajeError;
                    }
                    if (MensajeError == "-1")
                    {
                    }
                    else
                    {
                        return(RedirectToAction("Index"));
                    }
                }
                catch (Exception Ex)
                {
                    var errors = ModelState.Values.SelectMany(v => v.Errors);
                    Ex.Message.ToString();
                }
            }
            ViewBag.ped_UsuarioCrea     = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioCrea);
            ViewBag.ped_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioModifica);
            ViewBag.clte_Id             = new SelectList(db.tbCliente, "clte_Id", "clte_RTN_Identidad_Pasaporte", tbPedido.clte_Id);
            ViewBag.fact_Id             = new SelectList(db.tbFactura, "fact_Id", "fact_Codigo", tbPedido.fact_Id);
            ViewBag.suc_Id   = new SelectList(db.tbSucursal, "suc_Id", "mun_Codigo", tbPedido.suc_Id);
            ViewBag.esped_Id = new SelectList(db.tbEstadoPedido, "esped_Id", "esped_Descripcion", tbPedido.esped_Id);
            ViewBag.Producto = db.tbProducto.ToList();
            return(View(tbPedido));
        }
コード例 #11
0
 public ActionResult Facturar(tbPedido Pedido)
 {
     Session["IDCLIENTE"]      = Session["ID"];
     Session["IDENTIFICACION"] = Session["IDENT"];
     Session["NOMBRES"]        = Session["NOM"];
     Session["PEDIDO"]         = Session["PEDID"];
     Session["DETALLE"]        = Session["DETALLES"];
     //Session["PRODUCTO"] = Session["PRO"];
     //Session["CANTIDAD"] = Session["CANT"];
     //Session["DESCRIPCION"] = Session["DESC"];
     //Session["PRECIOUNI"] = Session["PRECIO"];
     //Session["IMPUESTO"] = Session["IMP"];
     return(RedirectToAction("Create", "Factura"));
 }
コード例 #12
0
        // GET: /Pedido/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbPedido tbPedido = db.tbPedido.Find(id);

            if (tbPedido == null)
            {
                return(HttpNotFound());
            }
            return(View(tbPedido));
        }
コード例 #13
0
        // GET: /Pedido/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            tbPedido tbPedido = db.tbPedido.Find(id);

            if (tbPedido == null)
            {
                return(RedirectToAction("NotFound", "Login"));
            }
            return(View(tbPedido));
        }
コード例 #14
0
 public ActionResult Edit([Bind(Include = "ped_Id,ped_FechaElaboracion,ped_FechaEntrega,clte_Id,suc_Id,fact_Id,ped_UsuarioCrea,ped_FechaCrea,ped_UsuarioModifica,ped_FechaModifica")] tbPedido tbPedido)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tbPedido).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ped_UsuarioCrea     = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioCrea);
     ViewBag.ped_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioModifica);
     ViewBag.clte_Id             = new SelectList(db.tbCliente, "clte_Id", "clte_RTN_Identidad_Pasaporte", tbPedido.clte_Id);
     ViewBag.fact_Id             = new SelectList(db.tbFactura, "fact_Id", "fact_Codigo", tbPedido.fact_Id);
     ViewBag.suc_Id = new SelectList(db.tbSucursal, "suc_Id", "mun_Codigo", tbPedido.suc_Id);
     return(View(tbPedido));
 }
コード例 #15
0
        public ActionResult Edit(int?id)
        {
            if (Function.GetUserLogin())
            {
                if (Function.GetRol())
                {
                    if (Function.GetUserRols("Pedido/Edit"))
                    {
                        if (id == null)
                        {
                            return(RedirectToAction("Index"));
                        }
                        tbPedido tbPedido = db.tbPedido.Find(id);
                        if (tbPedido == null)
                        {
                            return(RedirectToAction("NotFound", "Login"));
                        }
                        Session["tbPedidoDetalle"]  = null;
                        ViewBag.ped_UsuarioCrea     = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioCrea);
                        ViewBag.ped_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioModifica);
                        ViewBag.clte_Id             = new SelectList(db.tbCliente, "clte_Id", "clte_RTN_Identidad_Pasaporte", tbPedido.clte_Id);
                        ViewBag.fact_Id             = new SelectList(db.tbFactura, "fact_Id", "fact_Codigo", tbPedido.fact_Id);
                        ViewBag.suc_Id   = new SelectList(db.tbSucursales, "suc_Id", "mun_Codigo", tbPedido.suc_Id);
                        ViewBag.esped_Id = new SelectList(db.tbEstadoPedido, "esped_Id", "esped_Descripcion", tbPedido.esped_Id);
                        ViewBag.ped_idd  = id;
                        ViewBag.Producto = db.tbProducto.ToList();
                        ViewBag.Cliente  = db.tbCliente.ToList();

                        return(View(tbPedido));
                    }
                    else
                    {
                        return(RedirectToAction("SinAcceso", "Login"));
                    }
                }
                else
                {
                    return(RedirectToAction("SinRol", "Login"));
                }
            }
            else
            {
                return(RedirectToAction("Index", "Login"));
            }
        }
コード例 #16
0
        private string ValidaPedidoEntrega(tbPedido objPedido)
        {
            if (objPedido.tbCliente.tbClienteEndereco.Count == 0)
            {
                return("Não foram informados nenhum endereço.");
            }

            if (objPedido.tbPedidoProduto.Count == 0)
            {
                return("Não foram informados nenhum produto.");
            }

            if (objPedido.fpg_codigo == 0)
            {
                return("A forma de pagamento deve ser informada.");
            }
            return(string.Empty);
        }
コード例 #17
0
        private void Mesa(object objParam)
        {
            if (objParam != null)
            {
                if (objParam.GetType() == typeof(tbPedido))
                {
                    tbPedido objPedidoAux = (tbPedido)objParam;
                    objPedidoAux.tbPedidoProduto = new List <tbPedidoProduto>();

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

                    objPedido = objPedidoAux;
                }
                else
                {
                    int intNumero;
                    if (int.TryParse(objParam.ToString(), out intNumero))
                    {
                        objPedido.ped_numeroMesa = intNumero;

                        Retorno objRetorno;
                        using (var objBLL = new Pedidos())
                        {
                            objRetorno = objBLL.RetornaPedidoComanda(intNumero);
                        }
                        if (objRetorno.intCodigoErro == 0)
                        {
                            if (((tbMesa)objRetorno.objRetorno).tbPedido != null)
                            {
                                Mesa(((tbMesa)objRetorno.objRetorno).tbPedido);
                            }
                        }
                        else
                        {
                            MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro));
                            objPedido.ped_numeroMesa = 0;
                            RaisePropertyChanged("ped_numeroMesa");
                        }
                    }
                }
            }
        }
コード例 #18
0
        // GET: /Pedido/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbPedido tbPedido = db.tbPedido.Find(id);

            if (tbPedido == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ped_UsuarioCrea     = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioCrea);
            ViewBag.ped_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioModifica);
            ViewBag.clte_Id             = new SelectList(db.tbCliente, "clte_Id", "clte_RTN_Identidad_Pasaporte", tbPedido.clte_Id);
            ViewBag.fact_Id             = new SelectList(db.tbFactura, "fact_Id", "fact_Codigo", tbPedido.fact_Id);
            ViewBag.suc_Id = new SelectList(db.tbSucursal, "suc_Id", "mun_Codigo", tbPedido.suc_Id);
            return(View(tbPedido));
        }
コード例 #19
0
        // GET: /Pedido/Edit/5
        public ActionResult EditPedido(int?id)

        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            tbPedido tbPedido = db.tbPedido.Find(id);

            if (tbPedido == null)
            {
                return(RedirectToAction("NotFound", "Login"));
            }
            ViewBag.ped_UsuarioCrea     = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioCrea);
            ViewBag.ped_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioModifica);
            ViewBag.clte_Id             = new SelectList(db.tbCliente, "clte_Id", "clte_RTN_Identidad_Pasaporte", tbPedido.clte_Id);
            ViewBag.fact_Id             = new SelectList(db.tbFactura, "fact_Id", "fact_Codigo", tbPedido.fact_Id);
            ViewBag.suc_Id   = new SelectList(db.tbSucursales, "suc_Id", "mun_Codigo", tbPedido.suc_Id);
            ViewBag.esped_Id = new SelectList(db.tbEstadoPedido, "esped_Id", "esped_Descripcion", tbPedido.esped_Id);
            ViewBag.Producto = db.tbProducto.ToList();
            tbPedido Pedido = new tbPedido();

            ViewBag.Cliente   = db.tbCliente.ToList();
            tbPedido.esped_Id = Models.Helpers.Pendiente;

            Session["ID"]    = Convert.ToString(tbPedido.tbCliente.clte_Id);
            Session["PEDID"] = tbPedido.ped_Id;
            Session["IDENT"] = tbPedido.tbCliente.clte_Identificacion;

            if (tbPedido.tbCliente.clte_EsPersonaNatural)
            {
                Session["NOM"] = tbPedido.tbCliente.clte_Nombres + " " + tbPedido.tbCliente.clte_Apellidos;
            }
            else
            {
                Session["NOM"] = tbPedido.tbCliente.clte_NombreComercial;
            }
            Session["DETALLES"] = tbPedido.ped_Id;

            return(View(tbPedido));
        }
コード例 #20
0
        private string ValidaPedido(tbPedido objPedido, enOrigemPedido enOrigem)
        {
            if (enOrigem == enOrigemPedido.Entrega)
            {
                if (objPedido.cli_codigo == 0)
                {
                    return("O cliente do Pedido deve ser informado.");
                }

                if (objPedido.tbPedidoProduto.Count == 0)
                {
                    return("Não foram informados nenhum produto.");
                }

                if (objPedido.fpg_codigo == 0)
                {
                    return("A forma de pagamento deve ser informada.");
                }
            }
            return(string.Empty);
        }
コード例 #21
0
        public Retorno RetornaCupomComanda(tbPedido objPedido)
        {
            var objRetorno = new Retorno();

            try
            {
                var sbConteudo = new StringBuilder();
                if (objPedido != null)
                {
                    sbConteudo.Append("COMANDA MESA NRO: " + objPedido.ped_numeroMesa.ToString("000") + Environment.NewLine);
                    sbConteudo.Append("QTD DESCRICAO                 " + Environment.NewLine);
                    sbConteudo.Append("------------------------------" + Environment.NewLine);
                    foreach (var objPedidoProduto in objPedido.tbPedidoProduto
                             .Where(ppr => ppr.ppr_impresso == false)
                             .OrderBy(ppr => ppr.ppr_codigo))
                    {
                        var strQuantidade = objPedidoProduto.ppr_quantidade.ToString(objPedidoProduto.ppr_quantidade < 1 ? "0.0" : "000");
                        sbConteudo.Append(strQuantidade + " " +
                                          objPedidoProduto.ppr_descricao.PadRight(26, ' ').Substring(0, 26) + Environment.NewLine);

                        var objPedidoProdutoContexto = _objCtx.tbPedidoProduto.FirstOrDefault(ppr => ppr.ppr_codigo == objPedidoProduto.ppr_codigo);
                        objPedidoProdutoContexto.ppr_impresso         = true;
                        _objCtx.Entry(objPedidoProdutoContexto).State = EntityState.Modified;
                        _objCtx.SaveChanges();
                    }
                    sbConteudo.Append("OBS.: " + objPedido.ped_observacao + Environment.NewLine);
                    sbConteudo.Append("ATENDENTE: " + objPedido.tbFuncionario.fun_nome);
                }
                objRetorno.intCodigoErro = 0;
                objRetorno.objRetorno    = sbConteudo.ToString();
            }
            catch (Exception ex)
            {
                Util.LogErro(ex);
                objRetorno.intCodigoErro        = 16;
                objRetorno.strMsgErro           = ex.Message;
                objRetorno.strExceptionToString = ex.ToString();
            }
            return(objRetorno);
        }
コード例 #22
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");
            //    }
            //}
        }
コード例 #23
0
        public Retorno RetornaCupomEntrega(tbPedido objPedido, int?intPedCodigo = null)
        {
            var objRetorno = new Retorno();

            try
            {
                var sbConteudo = new StringBuilder();
                if (intPedCodigo != null)
                {
                    objPedido = _objCtx.tbPedido.AsNoTracking().FirstOrDefault(ped => ped.ped_codigo == intPedCodigo);
                }

                sbConteudo.Append("        COMPROVANTE DE ENTREGA" + Environment.NewLine);
                sbConteudo.Append(" " + Environment.NewLine);
                if (objPedido != null)
                {
                    sbConteudo.Append("PEDIDO..: " + objPedido.ped_codigo.ToString("0000000000") + new string(' ', 5) + " ORDEM: " + objPedido.ped_ordem.ToString() + Environment.NewLine);
                    sbConteudo.Append("CLIENTE.: " + objPedido.ped_nomeCliente.PadRight(30) + Environment.NewLine);
                    sbConteudo.Append((objPedido.ped_logradouro + "," + objPedido.ped_numero).PadRight(30) + Environment.NewLine);
                    if (!string.IsNullOrWhiteSpace(objPedido.ped_complemento))
                    {
                        sbConteudo.Append(objPedido.ped_complemento.PadRight(30) + Environment.NewLine);
                    }
                    sbConteudo.Append("BAIRRO..: " + objPedido.ped_bairro.PadRight(30) + Environment.NewLine);
                    sbConteudo.Append("TELEFONE: " + objPedido.ped_telefone.PadRight(30) + Environment.NewLine);
                    sbConteudo.Append(Environment.NewLine);
                    sbConteudo.Append("QTD PRODUTO               VALOR   TOTAL" + Environment.NewLine);
                    sbConteudo.Append("---------------------------------------" + Environment.NewLine);
                    foreach (var objPedidoProduto in objPedido.tbPedidoProduto)
                    {
                        var strQuantidade = objPedidoProduto.ppr_quantidade.ToString(objPedidoProduto.ppr_quantidade < 1 ? "0.0" : "000");
                        sbConteudo.Append(strQuantidade + " " +
                                          objPedidoProduto.ppr_descricao.PadRight(19, ' ').Substring(0, 19) + " " +
                                          objPedidoProduto.ppr_valorUnitario.ToString("#,##0.00").PadLeft(7) + " " +
                                          objPedidoProduto.ppr_valorTotal.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                    }
                    sbConteudo.Append("              TOTAL PRODUTOS -> " + objPedido.ped_valorSubTotal.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                    sbConteudo.Append("                                -------" + Environment.NewLine);
                    if (objPedido.ped_valorTaxaEntrega > 0 || objPedido.ped_valorDespesa > 0 || objPedido.ped_valorDesconto > 0)
                    {
                        if (objPedido.ped_valorTaxaEntrega > 0)
                        {
                            sbConteudo.Append("                 TX. ENTREGA -> " + objPedido.ped_valorTaxaEntrega.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                        }
                        if (objPedido.ped_valorDespesa > 0)
                        {
                            sbConteudo.Append("                    DESPESAS -> " + objPedido.ped_valorDespesa.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                        }
                        if (objPedido.ped_valorDesconto > 0)
                        {
                            sbConteudo.Append("                    DESCONTO -> " + objPedido.ped_valorDesconto.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                        }
                        sbConteudo.Append("             TOTAL DO PEDIDO -> " + objPedido.ped_valorTotal.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                    }
                    sbConteudo.Append("              VALOR RECEBIDO -> " + objPedido.ped_valorRecebido.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                    sbConteudo.Append("                       TROCO -> " + objPedido.ped_valorTroco.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                    sbConteudo.Append("FORMA PAGTO: " + objPedido.tbFormaPagamento.fpg_descricao);
                    sbConteudo.Append("OBSERVACOES: " + objPedido.ped_observacao);
                }

                objRetorno.intCodigoErro = 0;
                objRetorno.objRetorno    = sbConteudo.ToString();
            }
            catch (Exception ex)
            {
                Util.LogErro(ex);
                objRetorno.intCodigoErro        = 16;
                objRetorno.strMsgErro           = ex.Message;
                objRetorno.strExceptionToString = ex.ToString();
            }
            return(objRetorno);
        }
コード例 #24
0
        public Retorno RetornaTicketConferencia(tbPedido objPedido, int?intPedCodigo = null)
        {
            var objRetorno = new Retorno();

            try
            {
                var sbConteudo = new StringBuilder();
                if (intPedCodigo != null)
                {
                    objPedido = _objCtx.tbPedido.AsNoTracking().FirstOrDefault(ped => ped.ped_codigo == intPedCodigo);
                }

                sbConteudo.Append("         TICKET DE CONFERENCIA" + Environment.NewLine);
                sbConteudo.Append(" " + Environment.NewLine);
                sbConteudo.Append("QTD PRODUTO               VALOR   TOTAL" + Environment.NewLine);
                sbConteudo.Append("---------------------------------------" + Environment.NewLine);
                if (objPedido != null)
                {
                    foreach (var objPedidoProduto in objPedido.tbPedidoProduto)
                    {
                        var strQuantidade = objPedidoProduto.ppr_quantidade.ToString(objPedidoProduto.ppr_quantidade < 1 ? "0.0" : "000");
                        sbConteudo.Append(strQuantidade + " " +
                                          objPedidoProduto.ppr_descricao.PadRight(19, ' ').Substring(0, 19) + " " +
                                          objPedidoProduto.ppr_valorUnitario.ToString("#,##0.00").PadLeft(7) + " " +
                                          objPedidoProduto.ppr_valorTotal.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                    }
                    sbConteudo.Append("                    SUBTOTAL -> " + objPedido.ped_valorSubTotal.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                    sbConteudo.Append("                                -------" + Environment.NewLine);
                    if (objPedido.ped_valorTaxaEntrega > 0 || objPedido.ped_valorDespesa > 0 || objPedido.ped_valorDesconto > 0)
                    {
                        if (objPedido.ped_valorTaxaEntrega > 0)
                        {
                            sbConteudo.Append("                 TX. ENTREGA -> " + objPedido.ped_valorTaxaEntrega.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                        }
                        if (objPedido.ped_valorDespesa > 0)
                        {
                            sbConteudo.Append("                    DESPESAS -> " + objPedido.ped_valorDespesa.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                        }
                        if (objPedido.ped_valorDesconto > 0)
                        {
                            sbConteudo.Append("                    DESCONTO -> " + objPedido.ped_valorDesconto.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                        }
                        sbConteudo.Append("                       TOTAL -> " + objPedido.ped_valorTotal.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                    }
                    sbConteudo.Append("                    RECEBIDO -> " + objPedido.ped_valorRecebido.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                    sbConteudo.Append("                       TROCO -> " + objPedido.ped_valorTroco.ToString("#,##0.00").PadLeft(7) + Environment.NewLine);
                    sbConteudo.Append("OBSERVACOES: " + objPedido.ped_observacao + Environment.NewLine);
                }

                objRetorno.intCodigoErro = 0;
                objRetorno.objRetorno    = sbConteudo.ToString();
            }
            catch (Exception ex)
            {
                Util.LogErro(ex);
                objRetorno.intCodigoErro        = 16;
                objRetorno.strMsgErro           = ex.Message;
                objRetorno.strExceptionToString = ex.ToString();
            }
            return(objRetorno);
        }
コード例 #25
0
        public Retorno SalvarPedidoEntrega(tbPedido objPedido, int intFunCodigo)
        {
            var objRetorno   = new Retorno();
            var strValidacao = ValidaPedidoEntrega(objPedido);

            using (var objContexto = new EFContexto())
            {
                using (var transacao = objContexto.Database.BeginTransaction())
                {
                    try
                    {
                        if (strValidacao == string.Empty)
                        {
                            //Prepara o cliente
                            objPedido.tbCliente.tbClienteGrupo = null;
                            foreach (var objClienteEndereco in objPedido.tbCliente.tbClienteEndereco)
                            {
                                objClienteEndereco.tbBairro  = null;
                                objClienteEndereco.tbCliente = null;
                            }
                            foreach (var objClienteTelefone in objPedido.tbCliente.tbClienteTelefone)
                            {
                                objClienteTelefone.tbCliente = null;
                            }
                            //Atualiza o cliente
                            if (objPedido.tbCliente.cli_codigo == 0)
                            {
                                objContexto.tbCliente.Add(objPedido.tbCliente);
                                objContexto.SaveChanges();
                                objPedido.cli_codigo = objPedido.tbCliente.cli_codigo;
                            }
                            else
                            {
                                var objClienteContexto = objContexto.tbCliente.Include(cen => cen.tbClienteEndereco)
                                                         .Include(ctl => ctl.tbClienteTelefone)
                                                         .FirstOrDefault(cli => cli.cli_codigo == objPedido.tbCliente.cli_codigo);
                                if (objClienteContexto != null)
                                {
                                    objContexto.tbClienteEndereco.RemoveRange(objClienteContexto.tbClienteEndereco);
                                    objContexto.tbClienteTelefone.RemoveRange(objClienteContexto.tbClienteTelefone);
                                    objContexto.Entry(objClienteContexto).CurrentValues.SetValues(objPedido.tbCliente);
                                }

                                foreach (var objItemEndereco in objPedido.tbCliente.tbClienteEndereco)
                                {
                                    objItemEndereco.cli_codigo = objPedido.tbCliente.cli_codigo;
                                    objContexto.tbClienteEndereco.Add(objItemEndereco);
                                }
                                foreach (var objItemTelefone in objPedido.tbCliente.tbClienteTelefone)
                                {
                                    objItemTelefone.cli_codigo = objPedido.tbCliente.cli_codigo;
                                    objContexto.tbClienteTelefone.Add(objItemTelefone);
                                }
                            }

                            //Prepara o pedido
                            objPedido.tbCliente = null;
                            objPedido.tbFuncionarioEntregador = null;
                            objPedido.tbFormaPagamento        = null;
                            foreach (var objPedidoProduto in objPedido.tbPedidoProduto)
                            {
                                objPedidoProduto.tbProduto = null;
                                objPedidoProduto.tbPedido  = null;
                            }

                            enOperacao enTipoOperacao;
                            if (objPedido.ped_codigo == 0)
                            {
                                enTipoOperacao = enOperacao.Inclusao;

                                objPedido.ped_data   = DateTime.Now;
                                objPedido.ped_origem = "E";                         //"E" = Entrega, "C" = Comanda
                                objPedido.ped_status = enStatusPedido.P.ToString(); //"P" = Produção, "E" = Entrega, "F" = Finalizado, "X" = Excluido
                                if (objPedido.fun_funcionarioEntregador != null)
                                {
                                    objPedido.ped_status      = enStatusPedido.E.ToString();
                                    objPedido.ped_dataEntrega = DateTime.Now;
                                }
                                objPedido.fun_codigo = intFunCodigo;
                                if (objPedido.ped_cobranca == enFormaCobranca.P.ToString())//"P"
                                {
                                    objPedido.ped_observacao = (string.IsNullOrWhiteSpace(objPedido.ped_observacao) ? "" : Environment.NewLine) + "**PEDIDO CONVENIO - NAO COBRAR**";
                                }

                                //Atualizando a ordem de pedido
                                var objCaixaContexto = objContexto.tbCaixa.FirstOrDefault(cai => cai.cai_codigo == objPedido.cai_codigo);
                                if (objCaixaContexto != null)
                                {
                                    objCaixaContexto.cai_ordemPedido++;
                                    objPedido.ped_ordem = objCaixaContexto.cai_ordemPedido;
                                    objContexto.Entry(objCaixaContexto).State = EntityState.Modified;
                                }
                                objContexto.tbPedido.Add(objPedido);
                            }
                            else
                            {
                                enTipoOperacao = enOperacao.Alteracao;

                                var objPedidoContexto = objContexto.tbPedido.Include(ppr => ppr.tbPedidoProduto).FirstOrDefault(ped => ped.ped_codigo == objPedido.ped_codigo);

                                if (objPedidoContexto != null && (objPedidoContexto.fun_funcionarioEntregador == null && objPedido.fun_funcionarioEntregador != null))
                                {
                                    objPedido.ped_status      = enStatusPedido.E.ToString();//"E";
                                    objPedido.ped_dataEntrega = DateTime.Now;
                                }

                                if (objPedidoContexto != null)
                                {
                                    objContexto.tbPedidoProduto.RemoveRange(objPedidoContexto.tbPedidoProduto);
                                    objContexto.Entry(objPedidoContexto).CurrentValues.SetValues(objPedido);
                                }

                                foreach (var objItemProduto in objPedido.tbPedidoProduto)
                                {
                                    objItemProduto.ped_codigo = objPedido.ped_codigo;
                                    objContexto.tbPedidoProduto.Add(objItemProduto);
                                }
                            }
                            objContexto.SaveChanges();
                            transacao.Commit();
                            using (var objBll = new Auditoria(ref _objCtx, ref _objTransacao))
                                objBll.SalvarAuditoria(objPedido.ped_codigo, enTipoOperacao, objPedido, intFunCodigo);
                            objRetorno = RetornaPedido(objPedido.ped_codigo, null, enOrigemPedido.Entrega);
                        }
                        else
                        {
                            objRetorno.intCodigoErro = 48;
                            objRetorno.strMsgErro    = strValidacao;
                        }
                    }
                    catch (Exception ex)
                    {
                        transacao.Rollback();
                        Util.LogErro(ex);
                        objRetorno.intCodigoErro        = 16;
                        objRetorno.strMsgErro           = ex.Message;
                        objRetorno.strExceptionToString = ex.ToString();
                    }
                }
            }
            return(objRetorno);
        }
コード例 #26
0
        public Retorno SalvarPedido(tbPedido objPedido, enOrigemPedido enOrigem, int intFunCodigo)
        {
            var objRetorno   = new Retorno();
            var strValidacao = ValidaPedido(objPedido, enOrigem);

            try
            {
                if (strValidacao == string.Empty)
                {
                    objPedido.tbFuncionarioEntregador = null;
                    objPedido.tbCliente        = null;
                    objPedido.tbFormaPagamento = null;
                    foreach (var objPedidoProduto in objPedido.tbPedidoProduto)
                    {
                        objPedidoProduto.tbProduto = null;
                        objPedidoProduto.tbPedido  = null;
                    }
                    enOperacao enTipoOperacao;
                    if (objPedido.ped_codigo == 0)
                    {
                        objPedido.ped_data   = DateTime.Now;
                        objPedido.ped_origem = ((char)enOrigem).ToString(); //"E" = Entrega, "C" = Comanda
                        objPedido.ped_status = enStatusPedido.P.ToString(); //"P" = Produção, "E" = Entrega, "F" = Finalizado, "X" = Excluido
                        if (objPedido.fun_funcionarioEntregador != null)
                        {
                            objPedido.ped_status      = enStatusPedido.E.ToString();
                            objPedido.ped_dataEntrega = DateTime.Now;
                        }
                        objPedido.fun_codigo = Util.objConfigStorage.objFuncionario.fun_codigo;
                        objPedido.cai_codigo = Util.objConfigStorage.intCaiCodigo;
                        if (objPedido.ped_cobranca == enFormaCobranca.P.ToString())//"P"
                        {
                            objPedido.ped_observacao = (string.IsNullOrWhiteSpace(objPedido.ped_observacao) ? "" : Environment.NewLine) + "**PEDIDO CONVENIO - NAO COBRAR**";
                        }

                        if (enOrigem == enOrigemPedido.Entrega)
                        {
                            var objCaixaContexto = _objCtx.tbCaixa.FirstOrDefault(cai => cai.cai_codigo == objPedido.cai_codigo);
                            if (objCaixaContexto != null)
                            {
                                objCaixaContexto.cai_ordemPedido++;
                                objPedido.ped_ordem = objCaixaContexto.cai_ordemPedido;
                                _objCtx.Entry(objCaixaContexto).State = EntityState.Modified;
                            }
                        }

                        enTipoOperacao = enOperacao.Inclusao;
                        _objCtx.tbPedido.Add(objPedido);
                    }
                    else
                    {
                        enTipoOperacao = enOperacao.Alteracao;
                        var objPedidoContexto = _objCtx.tbPedido.Include(ppr => ppr.tbPedidoProduto).FirstOrDefault(ped => ped.ped_codigo == objPedido.ped_codigo);

                        if (objPedidoContexto != null && (objPedidoContexto.fun_funcionarioEntregador == null && objPedido.fun_funcionarioEntregador != null))
                        {
                            objPedido.ped_status      = enStatusPedido.E.ToString();//"E";
                            objPedido.ped_dataEntrega = DateTime.Now;
                        }

                        if (objPedidoContexto != null)
                        {
                            _objCtx.tbPedidoProduto.RemoveRange(objPedidoContexto.tbPedidoProduto);
                            _objCtx.Entry(objPedidoContexto).CurrentValues.SetValues(objPedido);
                        }

                        foreach (var objItemProduto in objPedido.tbPedidoProduto)
                        {
                            objItemProduto.ped_codigo = objPedido.ped_codigo;
                            _objCtx.tbPedidoProduto.Add(objItemProduto);
                        }
                    }
                    _objCtx.SaveChanges();
                    using (var objBll = new Auditoria(ref _objCtx, ref _objTransacao))
                        objBll.SalvarAuditoria(objPedido.ped_codigo, enTipoOperacao, objPedido, intFunCodigo);
                    objRetorno = RetornaPedido(objPedido.ped_codigo, null, enOrigem);
                }
                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);
        }
コード例 #27
0
        public ActionResult Edit(int?id, [Bind(Include = "ped_Id,esped_Id,ped_FechaElaboracion,ped_FechaEntrega,clte_Id,suc_Id,fact_Id,ped_EsAnulado,ped_RazonAnulado,ped_UsuarioCrea,ped_FechaCrea")] tbPedido tbPedido)
        {
            if (Function.GetUserLogin())
            {
                if (Function.GetRol())
                {
                    if (Function.GetUserRols("Pedido/Edit"))
                    {
                        if (ModelState.IsValid)
                        {
                            try
                            {
                                ViewBag.ped_UsuarioCrea     = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioCrea);
                                ViewBag.ped_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioModifica);
                                ViewBag.clte_Id             = new SelectList(db.tbCliente, "clte_Id", "clte_RTN_Identidad_Pasaporte", tbPedido.clte_Id);
                                ViewBag.fact_Id             = new SelectList(db.tbFactura, "fact_Id", "fact_Codigo", tbPedido.fact_Id);
                                ViewBag.suc_Id   = new SelectList(db.tbSucursales, "suc_Id", "mun_Codigo", tbPedido.suc_Id);
                                ViewBag.esped_Id = new SelectList(db.tbEstadoPedido, "esped_Id", "esped_Descripcion", tbPedido.esped_Id);

                                ViewBag.Producto = db.tbProducto.ToList();
                                ViewBag.Cliente  = db.tbCliente.ToList();
                                var MensajeErrorDetalle       = "";
                                var MensajeError              = "";
                                IEnumerable <object> list     = null;
                                IEnumerable <object> listEdit = null;
                                var listPedidoDetalle         = (List <tbPedidoDetalle>)Session["tbPedidoDetalle"];
                                list = db.UDP_Vent_tbPedido_Update(tbPedido.ped_Id,
                                                                   tbPedido.esped_Id = 1,
                                                                   tbPedido.ped_FechaElaboracion,
                                                                   tbPedido.ped_FechaEntrega,
                                                                   tbPedido.clte_Id,
                                                                   tbPedido.suc_Id,
                                                                   tbPedido.fact_Id,
                                                                   tbPedido.ped_EsAnulado,
                                                                   tbPedido.ped_RazonAnulado,
                                                                   tbPedido.ped_UsuarioCrea,
                                                                   tbPedido.ped_FechaCrea,
                                                                   Function.GetUser(),
                                                                   Function.DatetimeNow());

                                foreach (UDP_Vent_tbPedido_Update_Result PedidoDetalle1 in list)
                                {
                                    MensajeError = PedidoDetalle1.MensajeError;
                                }
                                if (MensajeError.StartsWith("-1"))
                                {
                                }
                                else
                                {
                                    if (MensajeError != "-1")
                                    {
                                        if (listPedidoDetalle != null)
                                        {
                                            if (listPedidoDetalle.Count != 0)
                                            {
                                                foreach (tbPedidoDetalle Detalle in listPedidoDetalle)
                                                {
                                                    var Exits = db.tbPedidoDetalle.Where(
                                                        x => x.prod_Codigo == Detalle.prod_Codigo
                                                        &&
                                                        x.ped_Id == tbPedido.ped_Id).FirstOrDefault();

                                                    if (Exits != null)
                                                    {
                                                        var Cantidad = db.tbPedidoDetalle.Where(
                                                            x => x.prod_Codigo == Detalle.prod_Codigo
                                                            &&
                                                            x.ped_Id == tbPedido.ped_Id).Select(c => c.pedd_Cantidad).FirstOrDefault();

                                                        tbPedidoDetalle vPedidoDetalle = db.tbPedidoDetalle.Find(tbPedido.ped_Id);

                                                        decimal CantidadNew = Convert.ToDecimal(Exits.pedd_Cantidad) + Convert.ToDecimal(Detalle.pedd_Cantidad);
                                                        listEdit = db.UDP_Vent_tbPedidoDetalle_Update(
                                                            Exits.pedd_Id,
                                                            Exits.prod_Codigo,
                                                            CantidadNew,
                                                            Detalle.pedd_CantidadFacturada,
                                                            Exits.pedd_UsuarioCrea,
                                                            Exits.pedd_FechaCrea,
                                                            Function.GetUser(),
                                                            Function.DatetimeNow());
                                                        foreach (UDP_Vent_tbPedidoDetalle_Update_Result RSSalidaDetalle in listEdit)
                                                        {
                                                            MensajeErrorDetalle = RSSalidaDetalle.MensajeError;
                                                        }
                                                        if (MensajeErrorDetalle.StartsWith("-1"))
                                                        {
                                                            ModelState.AddModelError("", "No se pudo actualizar el registro, favor contacte al administrador.");
                                                            return(Json(ModelState, JsonRequestBehavior.AllowGet));
                                                        }
                                                    }
                                                    else
                                                    {
                                                        var DetallesD = Convert.ToInt32(MensajeError);
                                                        Detalle.ped_Id = DetallesD;
                                                        listEdit       = db.UDP_Vent_tbPedidoDetalle_Insert(
                                                            tbPedido.ped_Id,
                                                            Detalle.prod_Codigo,
                                                            Detalle.pedd_Cantidad,
                                                            0, Function.GetUser(),
                                                            Function.DatetimeNow());
                                                        foreach (UDP_Vent_tbPedidoDetalle_Insert_Result PedidoDetalleD in listEdit)
                                                        {
                                                            MensajeErrorDetalle = PedidoDetalleD.MensajeError;
                                                        }
                                                        if (MensajeErrorDetalle.StartsWith("-1"))
                                                        {
                                                            MensajeErrorDetalle = "No se pudo actualizar el registro, favor contacte al administrador.";
                                                            ModelState.AddModelError("", MensajeErrorDetalle);
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                    return(RedirectToAction("Index"));
                                }
                            }
                            catch (Exception Ex)
                            {
                                ModelState.AddModelError("", "No se pudo agregar el registros" + Ex.Message.ToString());
                                ViewBag.listp_UsuarioCrea     = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioCrea);
                                ViewBag.listp_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioModifica);
                                ViewBag.listp_Id = new SelectList(db.tbListadoPrecioDetalle, "listp_Id", "prod_Codigo", tbPedido.ped_Id);
                                ViewBag.Producto = db.tbProducto.ToList();
                            }

                            return(RedirectToAction("Index"));
                        }
                        ViewBag.ped_UsuarioCrea     = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioCrea);
                        ViewBag.ped_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioModifica);
                        ViewBag.clte_Id             = new SelectList(db.tbCliente, "clte_Id", "clte_RTN_Identidad_Pasaporte", tbPedido.clte_Id);
                        ViewBag.fact_Id             = new SelectList(db.tbFactura, "fact_Id", "fact_Codigo", tbPedido.fact_Id);
                        ViewBag.suc_Id   = new SelectList(db.tbSucursales, "suc_Id", "mun_Codigo", tbPedido.suc_Id);
                        ViewBag.esped_Id = new SelectList(db.tbEstadoPedido, "esped_Id", "esped_Descripcion", tbPedido.esped_Id);
                        ViewBag.Cliente  = db.tbCliente.ToList();
                        ViewBag.Producto = db.tbProducto.ToList();
                        return(View(tbPedido));
                    }
                    else
                    {
                        return(RedirectToAction("SinAcceso", "Login"));
                    }
                }
                else
                {
                    return(RedirectToAction("SinRol", "Login"));
                }
            }
            else
            {
                return(RedirectToAction("Index", "Login"));
            }
        }
コード例 #28
0
        public Retorno SalvarPedidoComanda(tbPedido objPedido, int intFunCodigo)
        {
            var objRetorno   = new Retorno();
            var strValidacao = ValidaPedidoMesa(objPedido);

            try
            {
                if (strValidacao == string.Empty)
                {
                    objPedido.tbFuncionario = null;
                    foreach (var objPedidoProduto in objPedido.tbPedidoProduto)
                    {
                        objPedidoProduto.tbProduto = null;
                        objPedidoProduto.tbPedido  = null;
                    }
                    enOperacao enTipoOperacao;
                    if (objPedido.ped_codigo == 0)
                    {
                        objPedido.ped_data   = DateTime.Now;
                        objPedido.ped_origem = "C"; //"E" = Entrega, "C" = Comanda
                        objPedido.ped_status = "P"; //"P" = Produção, "E" = Entrega, "F" = Finalizado, "X" = Excluido
                        enTipoOperacao       = enOperacao.Inclusao;
                        _objCtx.tbPedido.Add(objPedido);
                        _objCtx.SaveChanges();
                        var objMesaContexto = _objCtx.tbMesa.FirstOrDefault(mes => mes.mes_numero == objPedido.ped_numeroMesa);
                        objMesaContexto.ped_codigo           = objPedido.ped_codigo;
                        objMesaContexto.mes_status           = "O";
                        _objCtx.Entry(objMesaContexto).State = EntityState.Modified;
                    }
                    else
                    {
                        enTipoOperacao = enOperacao.Alteracao;
                        var objPedidoContexto = _objCtx.tbPedido.FirstOrDefault(ped => ped.ped_codigo == objPedido.ped_codigo);
                        if (objPedidoContexto != null)
                        {
                            //Inclui os produtos que vieram na coleção sem codigo
                            foreach (var objItem in objPedido.tbPedidoProduto.Where(ppr => ppr.ppr_codigo == 0))
                            {
                                objItem.ped_codigo = objPedido.ped_codigo;
                                _objCtx.tbPedidoProduto.Add(objItem);
                            }

                            //Atualiza o pedido
                            _objCtx.Entry(objPedidoContexto).CurrentValues.SetValues(objPedido);
                        }
                    }
                    _objCtx.SaveChanges();
                    using (var objBll = new Auditoria(ref _objCtx, ref _objTransacao))
                        objBll.SalvarAuditoria(objPedido.ped_codigo, enTipoOperacao, objPedido, intFunCodigo);
                    objRetorno.intCodigoErro = 0;
                    objRetorno.objRetorno    = _objCtx.tbPedido.AsNoTracking().Include(fun => fun.tbFuncionario).Include(ppr => ppr.tbPedidoProduto)
                                               .FirstOrDefault(ped => ped.ped_codigo == objPedido.ped_codigo);
                }
                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);
        }
コード例 #29
0
        public ActionResult Create([Bind(Include = "esped_Id,ped_FechaElaboracion,ped_FechaEntrega,clte_Id,suc_Id,fact_Id,ped_EsAnulado,ped_RazonAnulado,tbUsuario,tbUsuario1")] tbPedido tbPedido)
        {
            if (Function.GetUserLogin())
            {
                if (Function.GetRol())
                {
                    if (Function.GetUserRols("Pedido/Create"))
                    {
                        ViewBag.ped_UsuarioCrea = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioCrea);
                        ViewBag.esped_Id        = new SelectList(db.tbEstadoPedido, "esped_Id", "esped_Descripcion");
                        ViewBag.Producto        = db.tbProducto.ToList();
                        ViewBag.Cliente         = db.tbCliente.ToList();
                        var    list                             = (List <tbPedidoDetalle>)Session["tbPedidoDetalle"];
                        string MensajeError                     = "";
                        var    MensajeErrorDetalle              = "";
                        IEnumerable <object> listPedido         = null;
                        IEnumerable <object> listPedidoDetalles = null;
                        if (ModelState.IsValid)
                        {
                            try
                            {
                                using (TransactionScope Tran = new TransactionScope())
                                {
                                    listPedido = db.UDP_Vent_tbPedido_Insert(
                                        tbPedido.esped_Id,
                                        tbPedido.ped_FechaElaboracion,
                                        tbPedido.ped_FechaEntrega,
                                        tbPedido.clte_Id,
                                        tbPedido.suc_Id,
                                        tbPedido.fact_Id,
                                        Function.GetUser(),
                                        Function.DatetimeNow(),
                                        tbPedido.ped_EsAnulado,
                                        tbPedido.ped_RazonAnulado);
                                    foreach (UDP_Vent_tbPedido_Insert_Result Pedido in listPedido)
                                    {
                                        MensajeError = Pedido.MensajeError;
                                    }
                                    if (MensajeError == "-1")
                                    {
                                        ModelState.AddModelError("", "No se pudo agregar el registro");
                                        return(View(tbPedido));
                                    }
                                    else
                                    {
                                        if (MensajeError != "-1")
                                        {
                                            if (list != null)
                                            {
                                                if (list.Count != 0)
                                                {
                                                    foreach (tbPedidoDetalle PedDetalle in list)
                                                    {
                                                        var pedds_Id = Convert.ToInt32(MensajeError);
                                                        PedDetalle.ped_Id = pedds_Id;

                                                        PedDetalle.ped_Id  = pedds_Id;
                                                        listPedidoDetalles = db.UDP_Vent_tbPedidoDetalle_Insert(PedDetalle.ped_Id,
                                                                                                                PedDetalle.prod_Codigo,
                                                                                                                PedDetalle.pedd_Cantidad,
                                                                                                                PedDetalle.pedd_CantidadFacturada,
                                                                                                                Function.GetUser(),
                                                                                                                Function.DatetimeNow());
                                                        foreach (UDP_Vent_tbPedidoDetalle_Insert_Result SPpedidodetalle in listPedidoDetalles)
                                                        {
                                                            MensajeErrorDetalle = SPpedidodetalle.MensajeError;
                                                            if (MensajeError == "-1")
                                                            {
                                                                ModelState.AddModelError("", "No se pudo agregar el registro detalle");
                                                                return(View(tbPedido));
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                        else
                                        {
                                            ModelState.AddModelError("", "No se pudo agregar el registro");
                                            return(View(tbPedido));
                                        }
                                    }
                                    Tran.Complete();
                                    return(RedirectToAction("Index"));
                                }
                            }
                            catch (Exception Ex)
                            {
                                ModelState.AddModelError("", "No se pudo agregar el registros" + Ex.Message.ToString());
                                ViewBag.ped_UsuarioCrea     = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioCrea);
                                ViewBag.ped_UsuarioModifica = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioModifica);
                                ViewBag.clte_Id             = new SelectList(db.tbCliente, "clte_Id", "clte_RTN_Identidad_Pasaporte", tbPedido.clte_Id);
                                ViewBag.fact_Id             = new SelectList(db.tbFactura, "fact_Id", "fact_Codigo", tbPedido.fact_Id);
                                ViewBag.suc_Id      = new SelectList(db.tbSucursales, "suc_Id", "mun_Codigo", tbPedido.suc_Id);
                                ViewBag.esped_Id    = new SelectList(db.tbEstadoPedido, "esped_Id", "esped_Descripcion");
                                ViewBag.Producto    = db.tbProducto.ToList();
                                ViewBag.Cliente     = db.tbCliente.ToList();
                                ViewBag.ListaPrecio = db.tbListaPrecio.ToList();
                            }
                        }
                        ViewBag.ped_UsuarioCrea = new SelectList(db.tbUsuario, "usu_Id", "usu_NombreUsuario", tbPedido.ped_UsuarioCrea);

                        ViewBag.clte_Id     = new SelectList(db.tbCliente, "clte_Id", "clte_RTN_Identidad_Pasaporte", tbPedido.clte_Id);
                        ViewBag.fact_Id     = new SelectList(db.tbFactura, "fact_Id", "fact_Codigo", tbPedido.fact_Id);
                        ViewBag.suc_Id      = new SelectList(db.tbSucursales, "suc_Id", "mun_Codigo", tbPedido.suc_Id);
                        ViewBag.esped_Id    = new SelectList(db.tbEstadoPedido, "esped_Id", "esped_Descripcion");
                        ViewBag.Cliente     = db.tbCliente.ToList();
                        ViewBag.Producto    = db.tbProducto.ToList();
                        ViewBag.ListaPrecio = db.tbListaPrecio.ToList();
                        return(View(tbPedido));
                    }
                    else
                    {
                        return(RedirectToAction("SinAcceso", "Login"));
                    }
                }
                else
                {
                    return(RedirectToAction("SinRol", "Login"));
                }
            }
            else
            {
                return(RedirectToAction("Index", "Login"));
            }
        }
コード例 #30
0
        public Retorno FecharPedidoMesa(tbPedido objPedido)
        {
            var objRetorno   = new Retorno();
            var strValidacao = ValidaPedidoMesa(objPedido);

            try
            {
                if (strValidacao == string.Empty)
                {
                    objPedido.tbFuncionario    = null;
                    objPedido.tbFormaPagamento = null;
                    foreach (var objPedidoProduto in objPedido.tbPedidoProduto)
                    {
                        objPedidoProduto.tbProduto = null;
                        objPedidoProduto.tbPedido  = null;
                    }
                    enOperacao enTipoOperacao;
                    if (objPedido.ped_codigo > 0)
                    {
                        enTipoOperacao = enOperacao.Alteracao;
                        var objPedidoContexto = _objCtx.tbPedido.Include(ppr => ppr.tbPedidoProduto).FirstOrDefault(ped => ped.ped_codigo == objPedido.ped_codigo);
                        //Remover produtos que não vieram na coleçao
                        var arrPsgrCodigo = objPedido.tbPedidoProduto.Select(ppr => ppr.ppr_codigo).ToArray();
                        if (objPedidoContexto != null)
                        {
                            _objCtx.tbPedidoProduto.RemoveRange(objPedidoContexto.tbPedidoProduto.Where(ppr => !arrPsgrCodigo.Contains(ppr.ppr_codigo)));

                            //Alterar os produtos que vieram na coleção
                            foreach (var objPedidoProdutoContexto in objPedidoContexto.tbPedidoProduto.Where(ppr => arrPsgrCodigo.Contains(ppr.ppr_codigo)))
                            {
                                _objCtx.Entry(objPedidoProdutoContexto).CurrentValues.SetValues(objPedido.tbPedidoProduto.FirstOrDefault(ppr => ppr.ppr_codigo == objPedidoProdutoContexto.ppr_codigo));
                            }

                            //Inclui os produtos que vieram na coleção sem codigo
                            foreach (var objItem in objPedido.tbPedidoProduto.Where(ppr => ppr.ppr_codigo == 0))
                            {
                                objItem.ped_codigo = objPedido.ped_codigo;
                                _objCtx.tbPedidoProduto.Add(objItem);
                            }

                            objPedido.ped_status = "F";

                            //Atualiza o pedido
                            _objCtx.Entry(objPedidoContexto).CurrentValues.SetValues(objPedido);
                        }
                        _objCtx.SaveChanges();

                        using (var objContexto = new EFContexto())
                        {
                            var objMesaContexto = objContexto.tbMesa.FirstOrDefault(mes => mes.mes_numero == objPedido.ped_numeroMesa);
                            if (objMesaContexto != null)
                            {
                                objMesaContexto.mes_status = "L";
                                objMesaContexto.ped_codigo = null;
                                objMesaContexto.tbPedido   = null;
                                objContexto.Entry(objMesaContexto).State = EntityState.Modified;
                                objContexto.SaveChanges();
                            }
                        }

                        using (var objBll = new Auditoria(ref _objCtx, ref _objTransacao))
                            objBll.SalvarAuditoria(objPedido.ped_codigo, enTipoOperacao, objPedido, objPedido.fun_codigo);
                        objRetorno.intCodigoErro = 0;
                    }
                    else
                    {
                        objRetorno.intCodigoErro = 48;
                        objRetorno.strMsgErro    = "Mesa não pode ser fechada pois a mesa não foi aberta pela comanda!";
                    }
                }
                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);
        }