Ejemplo n.º 1
0
        public bool AnularPedido(int idPedido)
        {
            bool resultado = false;

            if (idPedido != 0)
            {
                try
                {
                    using (Entidades contexto = new Entidades())
                    {
                        PEDIDO pedido = contexto.PEDIDOes.Where(p => p.ID_PEDIDO == idPedido).First();
                        if (pedido != null)
                        {
                            pedido.ID_ESTADO = (decimal)Estado.ANULADO;
                            contexto.SaveChanges();
                            resultado = true;
                        }
                        contexto.Dispose();
                    }
                }
                catch (Exception)
                {
                    resultado = false;
                }
            }
            return(resultado);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> PutPedido(int id, PEDIDO pedido)
        {
            if (id != pedido.ID)
            {
                return(BadRequest());
            }

            _context.Entry(pedido).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PEDIDOExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 3
0
        public ActionResult Delete(int id)
        {
            using (var db = new dev_orquestaEntities())
                using (var dbContextTransaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        List <DETALLE_PEDIDO> det = (from deta in db.DETALLE_PEDIDO
                                                     select new DETALLE_PEDIDO {
                            Id_Pedido = id
                        }).ToList();

                        PEDIDO ped = db.PEDIDO.Find(id);

                        foreach (DETALLE_PEDIDO items in det)
                        {
                            db.DETALLE_PEDIDO.Remove(items);
                        }

                        db.PEDIDO.Remove(ped);
                        db.SaveChanges();
                    }
                    catch (DataException /* dex */)
                    {
                        //Log the error (uncomment dex variable name and add a line here to write a log.
                        return(RedirectToAction("Delete", new { id = id, saveChangesError = true }));
                    }
                }
            return(RedirectToAction("Create"));
        }
 /// <summary>
 /// Metodo para la adición del pedido a la base de datos
 /// </summary>
 /// <param name="pedido"></param>
 public static void AgregarPedido(Pedido pedido)
 {
     using (var db = new DBEntities())
     {
         try
         {
             var pedidoAgregar = new PEDIDO
             {
                 //Asignacion de datos del pedido
                 FECHAPEDIDO     = pedido.FechaPedido,
                 FECHAENTREGA    = pedido.FechaEntrega,
                 DIRECCIONPEDIDO = pedido.Direccion,
                 CIUDAD          = pedido.Ciudad,
                 PAIS            = pedido.Pais,
                 IDESTADOPEDIDO  = 1,
                 IDCLIENTE       = pedido.Cliente.Id
             };
             //Agregar Pedido a la base de datos
             db.PEDIDO.Add(pedidoAgregar);
             //Confirmar el adicion del pedido en la base de datos
             db.SaveChanges();
             //Se recupera la id del pedido generada por medio del DbContext
             pedido.IdPedido = (int)pedidoAgregar.IDPEDIDO;
         }
         catch (Exception ex)
         {
             throw new Exception(ex.StackTrace);
         }
     }
 }
Ejemplo n.º 5
0
        public async Task <ActionResult <PEDIDO> > PostPedido(PEDIDO pedido)
        {
            _context.Pedido.Add(pedido);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetPEDIDO", new { id = pedido.ID }, pedido));
        }
Ejemplo n.º 6
0
        public ActionResult Carro(PEDIDO_PLATOS collection, string idMesa)
        {
            try
            {
                int    idCliente = Convert.ToInt32(Session["idcliente"]);;
                PEDIDO ped       = new PEDIDO();
                ped.CLIENTE_ID_CLIENTE = idCliente;
                ped.ESTADO_PEDIDO      = 0;
                ped.FECHA_PEDIDO       = DateTime.Now;
                ped.MESA_NUM_MESA      = Convert.ToInt32(idMesa);
                context.insertarPedido(ped);
                List <PEDIDO_PLATOS> platos = CarroDeCompras.CapturarProducto().ListaProductos;

                foreach (var item in platos)
                {
                    item.PEDIDO_ID_PEDIDO = context.buscarIdPedido(idCliente);
                    this.context.insertarPedidoPlatos(item);
                }
                System.Web.HttpContext.Current.Session.Remove("ASPCarroDeCompras");
                return(RedirectToAction("index"));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 7
0
        public ActionResult DeleteConfirmed(decimal id)
        {
            PEDIDO pEDIDO = db.PEDIDO.Find(id);

            db.PEDIDO.Remove(pEDIDO);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 8
0
 void CamposPedido(string CdPedido, string TpDoc, string CdVendedor, string CdCliente, string CdFP, DateTime Fecha, string NmCliente, string Ruc, string Direccion, string Dni, string NmVendedor,
                   string Gestion, string IdDistrito, DataGridView dgv)
 {
     using (LiderEntities CTX = new LiderEntities())
     {
         var    Rutina = new Libreria.Rutina();
         PEDIDO Cp     = new PEDIDO {
             Pedido1 = CdPedido
         };
         CTX.PEDIDOes.Attach(Cp);
         Cp.Personal    = CdVendedor;
         Cp.Cliente     = CdCliente;
         Cp.FormaPago   = CdFP;
         Cp.Fecha       = Fecha;
         Cp.rsocial     = NmCliente;
         Cp.ruc         = Ruc;
         Cp.direccion   = Direccion;
         Cp.dni         = Dni;
         Cp.encargado   = CdVendedor;
         Cp.npersonal   = NmVendedor;
         Cp.nencargado  = NmVendedor;
         Cp.gestion     = Gestion;
         Cp.ptollegada  = Direccion;
         Cp.distllegada = IdDistrito;
         Cp.tipodoc     = TpDoc;
         CTX.Configuration.ValidateOnSaveEnabled = false;
         CTX.DETPEDIDOes.RemoveRange(CTX.DETPEDIDOes.Where(a => a.Pedido == CdPedido));
         foreach (DataGridViewRow fila in dgv.Rows)
         {
             DETPEDIDO ItemCp = new DETPEDIDO();
             ItemCp.Pedido         = CdPedido;
             ItemCp.Producto       = Convert.ToString(fila.Cells["Codigo"].Value);
             ItemCp.PrecUnit       = Convert.ToDecimal(fila.Cells["PrecioNeto"].Value);
             ItemCp.Cantidad       = Convert.ToDecimal(fila.Cells["Cantidad"].Value);
             ItemCp.Estado         = "P";
             ItemCp.TipoPrecio     = Convert.ToString(fila.Cells["TpPrecio"].Value);
             ItemCp.TranGratuita   = (decimal)0.00;
             ItemCp.lote           = string.Empty;
             ItemCp.fvctolote      = Convert.ToDateTime("1990/01/01");
             ItemCp.flgSurtido     = "N";
             ItemCp.IDBonificacion = Convert.ToInt32(fila.Cells["IDBonificacion"].Value == string.Empty ? 0 : fila.Cells["IDBonificacion"].Value);
             ItemCp.PrecioUnitario = Convert.ToDecimal(fila.Cells["PrecioUnitario"].Value);
             ItemCp.PrecioNeto     = Convert.ToDecimal(fila.Cells["PrecioNeto"].Value);
             ItemCp.Descuento      = Convert.ToDecimal(fila.Cells["Descuento"].Value);
             ItemCp.Recargo        = Convert.ToDecimal(fila.Cells["Recargo"].Value);
             ItemCp.Afecto         = Convert.ToDecimal(fila.Cells["Afecto"].Value);
             ItemCp.Bonif          = Convert.ToBoolean(fila.Cells["Bonif"].Value);
             CTX.DETPEDIDOes.Add(ItemCp);
         }
         CTX.SaveChanges();
         Rutina.ejecutar("sp_stock_sistema_nuevo '" + DateTime.Now.Date.ToString("yyyyMMdd") + "', 2");
         Rutina.ejecutar("sp_stock_sistema_web '" + DateTime.Now.Date.ToString("yyyyMMdd") + "', 2");
         Refrescar();
     }
 }
Ejemplo n.º 9
0
 public ActionResult Edit([Bind(Include = "CODPEDIDO,CEDCLIENTE,FECHAPEDIDO,FECHAENTREGA")] PEDIDO pEDIDO)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pEDIDO).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CEDCLIENTE = new SelectList(db.CLIENTE, "CEDCLIENTE", "INFOCLIENTE", pEDIDO.CEDCLIENTE);
     return(View(pEDIDO));
 }
Ejemplo n.º 10
0
 public ActionResult Novo(PEDIDO pedido)
 {
     if (ModelState.IsValid)
     {
         pedido.DATA_PEDIDO = DateTime.Now;
         db.PEDIDO.Add(pedido);
         db.SaveChanges();
         return(RedirectToAction("Itens", new { id = pedido.ID_PEDIDO }));
     }
     return(View(pedido));
 }
Ejemplo n.º 11
0
 public ActionResult Guardar(PEDIDO model)
 {
     if (ModelState.IsValid)
     {
         model.Guardar();
         return(Redirect("~/Pedido/Index")); //devuelve el index
     }
     else
     {
         return(View("~/Views/Pedido/AgregarEditar.cshtml", model));
     }
 }
Ejemplo n.º 12
0
        public ActionResult Create([Bind(Include = "CODPEDIDO,CEDCLIENTE,FECHAPEDIDO,FECHAENTREGA")] PEDIDO pEDIDO, string cantPrenda)
        {
            if (ModelState.IsValid)
            {
                db.PEDIDO.Add(pEDIDO);
                db.SaveChanges();
                return(RedirectToAction("Create", "lineapedido", new { codPedido = pEDIDO.CODPEDIDO }));
            }

            ViewBag.CEDCLIENTE = new SelectList(db.CLIENTE, "CEDCLIENTE", "INFOCLIENTE", pEDIDO.CEDCLIENTE);
            return(View(pEDIDO));
        }
Ejemplo n.º 13
0
        public ActionResult rechazarPedido(int idPedido)
        {
            var pedido = db.PEDIDO.Include(p => p.USUARIO).Include(p => p.UBIGEO).Include(p => p.estado).Include(p => p.tipo_compPago).Include(p => p.TIPO_PAGO).FirstOrDefault(p => p.idpedido == idPedido);

            pedido.idestado        = 10;
            db.Entry(pedido).State = EntityState.Modified;
            db.SaveChanges();

            PEDIDO ped = pedido;

            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "CODIGOPEDIDO,CODIGOCLIENTE,CODIGOPRODUCTO,FECHAPEDIDO,CANTIDADPEDIDO")] PEDIDO pEDIDO)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pEDIDO).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CODIGOCLIENTE  = new SelectList(db.CLIENTE, "CODIGOCLIENTE", "NOMBRECLIENTE", pEDIDO.CODIGOCLIENTE);
     ViewBag.CODIGOPRODUCTO = new SelectList(db.PRODUCTO, "CODIGOPRODUCTO", "NOMBREPRODUCTO", pEDIDO.CODIGOPRODUCTO);
     return(View(pEDIDO));
 }
Ejemplo n.º 15
0
        public ActionResult CambiarEstado(int pedidoId, int estadoId)
        {
            using (FunkoPopDDBBEntities db = new FunkoPopDDBBEntities())
            {
                PEDIDO pedidoOriginal = db.PEDIDOes.Where(c => c.PEDIDO_ID == pedidoId).First();

                pedidoOriginal.ESTADO_ENVIO = estadoId;

                db.SaveChanges();
                return(RedirectToAction("GestionPedidos"));
            }
        }
Ejemplo n.º 16
0
 public ActionResult Edit([Bind(Include = "ID,ID_SUCURSAL,ID_EMPLEADO,ID_CLIENTE,FECHA")] PEDIDO pEDIDO)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pEDIDO).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ID_CLIENTE  = new SelectList(db.CLIENTE, "ID", "DOCUMENTO", pEDIDO.ID_CLIENTE);
     ViewBag.ID_EMPLEADO = new SelectList(db.EMPLEADO, "ID", "DOCUMENTO", pEDIDO.ID_EMPLEADO);
     ViewBag.ID_SUCURSAL = new SelectList(db.SUCURSAL, "ID", "NOMBRE", pEDIDO.ID_SUCURSAL);
     return(View(pEDIDO));
 }
Ejemplo n.º 17
0
 public PedidoViewModel(Accion accion, Object pedido = null)
 {
     _accion       = accion;
     ListaClientes = BBDDService.GetClientes();
     if (_accion == Accion.Abrir)
     {
         Pedido = new PEDIDO();
     }
     else
     {
         Pedido = (PEDIDO)pedido;
     }
 }
Ejemplo n.º 18
0
        public ActionResult Pedido()
        {
            ViewBag.iddistrito      = new SelectList(db.UBIGEO, "COD_UBIGEO", "DISTRITO");
            ViewBag.idtipopago      = new SelectList(db.TIPO_PAGO, "idtipopago", "descrip");
            ViewBag.idtipo_compPago = new SelectList(db.tipo_compPago, "idtipo_compPago", "descrip");
            USUARIO cl  = getClienteLogueado(User.Identity.Name);
            PEDIDO  ped = new PEDIDO();

            ped.contacto_nom  = cl.NOMBRE;
            ped.contacto_ape  = cl.APPATERNO + " " + cl.APEMATERNO;
            ped.contacto_mail = cl.CORREO;

            return(View(ped));
        }
        // GET: PEDIDOs/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PEDIDO pEDIDO = db.PEDIDO.Find(id);

            if (pEDIDO == null)
            {
                return(HttpNotFound());
            }
            return(View(pEDIDO));
        }
Ejemplo n.º 20
0
        public ActionResult Pago(PEDIDO pedido)
        {
            db.PEDIDO.Add(pedido);
            db.SaveChanges();

            //Process the order
            var    cart        = CarritodeCompras.GetCart(this.HttpContext);
            string cartDetalle = cart.tablaDetalle();
            PEDIDO ped         = cart.CreateOrder(pedido);

            db.Entry(ped).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("Completo", new { idPed = pedido.idpedido }));
        }
Ejemplo n.º 21
0
        public bool editarPedido(int id)
        {
            try
            {
                PEDIDO ped = buscarPedido(id);
                if (ped != null)
                {
                    ped.ESTADO_PEDIDO = 3;
                    this.context.SaveChanges();

                    var var   = listarPlatos(id);
                    int total = 0;
                    foreach (var item in var)
                    {
                        total += item.PLATO.PRECIO_VENTA * item.CANTIDAD;
                    }

                    int iva      = Convert.ToInt32(total * 0.19);
                    int subtotal = Convert.ToInt32(total - iva);
                    int propina  = Convert.ToInt32(total * 0.1);
                    total = Convert.ToInt32(total + propina);

                    this.context.INSERTVENTA(id, subtotal, iva, propina, total, DateTime.Now, "no", 1);

                    var listaPedidos = this.context.PEDIDO_PLATOS.Where(n => n.PEDIDO_ID_PEDIDO == ped.ID_PEDIDO).ToList();
                    foreach (var item in listaPedidos)
                    {
                        var receta = buscarReceta(item.PLATO.ID_PLATO);
                        int cant   = item.CANTIDAD;
                        foreach (var list in receta)
                        {
                            cant = cant * list.CANTIDAD_UTILIZADO;

                            INSUMO insumo = buscarInsumo(list.INSUMO_ID_INSUMO);
                            insumo.STOCK_INSUMO = insumo.STOCK_INSUMO - cant;
                            this.context.SaveChanges();
                        }
                    }
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public bool insertarPedido(PEDIDO pedido)
        {
            try
            {
                context.INSERTPEDIDO(pedido.CLIENTE_ID_CLIENTE, pedido.MESA_NUM_MESA, pedido.FECHA_PEDIDO);
                context.SaveChanges();

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Ejemplo n.º 23
0
        public ActionResult Details(decimal id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PEDIDO pEDIDO = db.PEDIDO.Find(id);

            ViewBag.LINEASPEDIDO = db.LINEAPEDIDO.Where((x) => x.CODPEDIDO == pEDIDO.CODPEDIDO).ToList();
            if (pEDIDO == null)
            {
                return(HttpNotFound());
            }
            return(View(pEDIDO));
        }
Ejemplo n.º 24
0
        public ActionResult Itens(int id)
        {
            PEDIDO             pedido      = db.PEDIDO.Find(id);
            List <ITENSPEDIDO> itenspedido = db.ITENSPEDIDO.Include(p => p.PRODUTO).Include(p => p.COR).Where(p => p.ID_PEDIDO == id).ToList();

            pedido.ITENSPEDIDO = itenspedido;
            if (pedido == null)
            {
                return(HttpNotFound());
            }
            ViewBag.sProduto = new SelectList(db.PRODUTO, "ID_PRODUTO", "NOME_PRODUTO");
            ViewBag.sCor     = new SelectList(db.COR, "ID_COR", "NOME_COR");

            return(View(pedido));
        }
Ejemplo n.º 25
0
        // GET: pedido/Edit/5
        public ActionResult Edit(decimal id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PEDIDO pEDIDO = db.PEDIDO.Find(id);

            if (pEDIDO == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CEDCLIENTE = new SelectList(db.CLIENTE, "CEDCLIENTE", "INFOCLIENTE", pEDIDO.CEDCLIENTE);
            return(View(pEDIDO));
        }
        // GET: PEDIDOs/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PEDIDO pEDIDO = db.PEDIDO.Find(id);

            if (pEDIDO == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CODIGOCLIENTE  = new SelectList(db.CLIENTE, "CODIGOCLIENTE", "NOMBRECLIENTE", pEDIDO.CODIGOCLIENTE);
            ViewBag.CODIGOPRODUCTO = new SelectList(db.PRODUCTO, "CODIGOPRODUCTO", "NOMBREPRODUCTO", pEDIDO.CODIGOPRODUCTO);
            return(View(pEDIDO));
        }
Ejemplo n.º 27
0
        // GET: PEDIDOes/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PEDIDO pEDIDO = db.PEDIDO.Find(id);

            if (pEDIDO == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ID_CLIENTE  = new SelectList(db.CLIENTE, "ID", "DOCUMENTO", pEDIDO.ID_CLIENTE);
            ViewBag.ID_EMPLEADO = new SelectList(db.EMPLEADO, "ID", "DOCUMENTO", pEDIDO.ID_EMPLEADO);
            ViewBag.ID_SUCURSAL = new SelectList(db.SUCURSAL, "ID", "NOMBRE", pEDIDO.ID_SUCURSAL);
            return(View(pEDIDO));
        }
Ejemplo n.º 28
0
 public HttpResponseMessage regPedido([FromBody] PEDIDO pedido)
 {
     try
     {
         using (GasStationPharmacyDBEntities entities = new GasStationPharmacyDBEntities())
         {
             entities.Configuration.LazyLoadingEnabled = false;
             entities.PEDIDOS.Add(pedido);
             entities.SaveChanges();
             var message = Request.CreateResponse(HttpStatusCode.Created, pedido.idPedido);
             return(message);
         }
     }
     catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
Ejemplo n.º 29
0
        // GET: pedido/Details/5
        public ActionResult DetailsByIndex(decimal index)
        {
            if (index == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            List <PEDIDO> pedidos = db.PEDIDO.ToList();
            PEDIDO        pEDIDO  = pedidos.ElementAt((int)index);

            ViewBag.LINEASPEDIDO = db.LINEAPEDIDO.Where((x) => x.CODPEDIDO == pEDIDO.CODPEDIDO).ToList();
            ViewBag.actualIndex  = index;
            ViewBag.lastIndex    = (decimal)pedidos.Count() - 1;
            if (pEDIDO == null)
            {
                return(HttpNotFound());
            }
            return(View(pEDIDO));
        }
Ejemplo n.º 30
0
        private void ListaPedidos_Filter(object sender, FilterEventArgs e)
        {
            PEDIDO pedidoActual = e.Item as PEDIDO;

            if (string.IsNullOrEmpty(ClienteFiltro))
            {
                e.Accepted = true;
            }
            else
            {
                if (pedidoActual.CLIENTE.nombre.Contains(ClienteFiltro) || pedidoActual.CLIENTE.apellido.Contains(ClienteFiltro))
                {
                    e.Accepted = true;
                }
                else
                {
                    e.Accepted = false;
                }
            }
        }
Ejemplo n.º 31
0
 public void AddToPEDIDO(PEDIDO pEDIDO)
 {
     base.AddObject("PEDIDO", pEDIDO);
 }
Ejemplo n.º 32
0
 public static PEDIDO CreatePEDIDO(int cODIGO, global::System.DateTime dATA)
 {
     PEDIDO pEDIDO = new PEDIDO();
     pEDIDO.CODIGO = cODIGO;
     pEDIDO.DATA = dATA;
     return pEDIDO;
 }
Ejemplo n.º 33
0
 partial void InsertPEDIDO(PEDIDO instance);
Ejemplo n.º 34
0
        public static int InserePedido(
            UsuarioResumido u,  ParametroResumido pr, 
            int codVendedor,  int codCliente, 
            string observacao, int codFormaPagto,
            int codCondPagto, List<ProdutoResumido> produtos, 
            int codEmp, Int32 NumPedWeb, 
            Int32 NumPed,  decimal DescontoPedido, 
            int CodPrc_Tab, int CodPrz_Tab, int UnidadeVenda,  int iCodTipMov) 
        {

            Decimal TotalComissao = 0;
            Decimal TotalComissaoTelev = 0;

            ClasseBanco csBanco = new ClasseBanco();

            //verifica se tem itens na grid
            if (produtos.Count.ToString() == "0")            
            {
                //throw new Exception("Não há produtos digitados.");                
                return 0;
            }

            try
            {
                DataClassesDataContext dcdc = new DataClassesDataContext();
                
                decimal cPesoTotal = 0;
                decimal comissao_televend = 0;
                decimal comissao_vendedor = 0;
                int iIncideTelev = 0;
                int iIncideVend = 0;

                int CodTipMov = ValidaMovimentacao(codCliente, codEmp, iCodTipMov);

                if (CodTipMov == 0)
                {
                    throw new Exception("Não há Tipo de Movimentação Padrão cadastrada nos Parâmetros de Venda.");
                }
                
                /*51287*/
                string varCLIE_IPISuspenso = dcdc.CLIENTEs.FirstOrDefault(cli => cli.CodCli == codCliente).CLIE_IPISuspenso.ToString();

                PEDIDO p = new PEDIDO();
                
                p.CodEmp = (short)codEmp;

                //FABIANO - 12/10/2011 - N.42120
                //Buscar o segundo vendedor da VENDCLI e sua comissao. (TELEVENDEDOR)

                //49637 - Adicionado CODEMP na clausula where
                //var sSql = "SELECT CodVen, COMISSAOTELEV, INCIDE FROM VENDCLI INNER JOIN VENDEDOR ON VENDCLI.CodVen = VENDEDOR.CodVend" +
                           //" WHERE CodCli = " + codCliente + " AND CodVen <> " + codVendedor + "";

                var sSql = "SELECT CodVen, COMISSAOTELEV, INCIDE FROM VENDCLI INNER JOIN VENDEDOR ON VENDCLI.CodVen = VENDEDOR.CodVend" +
                           " WHERE CodCli = " + codCliente + " AND CodVen <> " + codVendedor + " AND CODEMP = " + p.CodEmp;
                
                var televendedor = csBanco.Query(sSql);
                
                p.TelVend_Pedido = null;
                
                if (televendedor.Read())
                {

                    if (televendedor[0].ToString() != "") //CODVEN
                    {
                        p.TelVend_Pedido = Convert.ToInt16(televendedor[0].ToString());
                    }

                    if (televendedor[1].ToString()!="") //COMISSAO
                    {
                        comissao_televend = Convert.ToDecimal(televendedor[1].ToString());
                    }

                    if (televendedor[2].ToString() != "") //INCIDE
                    {
                        iIncideTelev = Convert.ToInt16(televendedor[2].ToString());
                    }
                    
                }

                televendedor.Close();

                //Busca comissao do vendedor principal e o setor na vendcli
                sSql = "SELECT SETOR, Comissao, Incide" + 
                       " FROM " +
                       " VENDCLI INNER JOIN VENDEDOR ON VENDCLI.CodVen = VENDEDOR.CodVend " +
                       " WHERE 1=1 " +
                       " AND CodCli = " + codCliente + "" +
                       " AND CodVen = " + codVendedor + "";

                var r = csBanco.Query(sSql);

                if (r.Read())
                {
                    p.SETOR = r[0].ToString(); //43573

                    if (r[1].ToString()!="") //COMISSAO
                    {
                        comissao_vendedor = Convert.ToDecimal(r[1].ToString());
                    }

                    if (r[2].ToString() != "") //INCIDE
                    {
                        iIncideVend = Convert.ToInt16(r[2].ToString());
                    }
                                        
                }

                r.Close();

                //Busca parametro sistema
                r = csBanco.Query("SELECT conteudo FROM parametrosist WHERE descparametro = 'BloqPedConf' AND codemp = " + codEmp);

                if (r.Read())
                {
                    //Se Bloqueia por conferencia ou nao 
                    //Se = 'S' bloqueia com DIV (Divergencia), senao grava null
                    p.RESCONFER = r[0].ToString() == "S" ? "DIV" : null;
                }

                r.Close();


                //Validacao PEDIDO X PEDIDOWEB
                r = csBanco.Query("SELECT NUMPED FROM PEDIDO WHERE codemp = " + codEmp + " AND NUMPED = " + NumPedWeb + " AND NUMPEDWEB = " + NumPed + "");

                if (r.Read())
                {
                    throw new Exception("Pedido " + NumPed + " já cadastrado.");
                }

                r.Close();


               //Campos fixos
                p.Origem            = 'W';          //43573
               //p.StatusComercial  = "BCF";        // bloqueado para conferência (default)
                p.PesoBruto         = 0;
                p.Volume            = 0;
                p.Carga             = 1;
                p.SubCarga          = 1;                
                p.Comissao          = 0;                
                p.VlrFrete_Pedido   = 0;
                p.Origem_Pedido     = "VENDEDOR";
                p.Tipo_Pedido       = "PEDIDO";                
                p.USUCAD            = u.NomUsu;        //43573
                p.SitPed            = "ABE";
                p.HoraCad           = DateTime.Now;   //43573                
                p.Hora              = DateTime.Now;
                p.DtaEmi            = DateTime.Today; //DateTime.Now;
                p.DtaEnt            = DateTime.Today;
                p.DtaFat            = DateTime.Today;

                //Campos dinamicos
                p.PercDes           = DescontoPedido;
                p.CodVen            = (short)codVendedor;
                p.CodCli            = (int)codCliente;
                p.CodTipMov         = Convert.ToInt16(CodTipMov);
                p.NumPedWeb         = NumPedWeb;
                p.NumPed            = NumPed; //Agora buscando de forma diferente
                p.CodPgt            = (short)codCondPagto;
                p.CodFrmPgt         = (short)codFormaPagto;

                /*Alterado forma de pegar tabela de preco. Agora pega da combo, pois pode ser diferente do padrao configurado no sigma
                - Regras alteradas por solicitacao do cliente Bagetti 
                - 13/03/2013 - Fabiano                                    
                   p.CodigoTab         = Convert.ToInt16(pr.CodTipPrc);
                   p.CodPrzTab         = Convert.ToInt16(pr.CodTipPrz);                 
                */
                p.CodigoTab         = (short)CodPrc_Tab;
                p.CodPrzTab         = (short)CodPrz_Tab;

                p.Obs               = observacao;                
                p.Vlrtot            = (decimal)produtos.Sum(p2 => p2.TotalParcial) - ((decimal)produtos.Sum(p2 => p2.TotalParcial) * DescontoPedido/100);                                
                p.NomUsu            = u.NomUsu;                
                p.Usuario           = u.NomUsu;
                p.VlrSubTot         = (decimal)produtos.Sum(p2 => p2.TotalParcial);
                p.VlrDes1           = ((decimal)produtos.Sum(p2 => p2.TotalParcial) * DescontoPedido / 100);
                p.PesoLiq           = 0;

                //produtos.ForEach(prood => p.PesoLiq     += dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == prood.Codigo).PesoLiq * prood.Quantidade);
                //produtos.ForEach(prood => p.PesoLiq     += Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == prood.Codigo).PesoLiq)) * prood.Quantidade);
                //produtos.ForEach(prood => p.PesoBruto   += dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == prood.Codigo).PesoBruto * prood.Quantidade);
                //produtos.ForEach(prood => p.PesoBruto   += Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == prood.Codigo).PesoBruto)) * prood.Quantidade);

                string sValidaIPI = "", sIncidenciaDescBaseIpi="";

                /*51667 - BIERHOFF*/
                r = csBanco.Query("SELECT CALCULAIPI, CALCIPIDESC FROM NATOPER WHERE CODIGO = " + iCodTipMov);

                if (r.Read())
                {
                    sValidaIPI              = r["CALCULAIPI"].ToString();
                    sIncidenciaDescBaseIpi  = r["CALCIPIDESC"].ToString();
                }

                r.Close();

                //<<51667
                decimal cQtdTributavel  = 0;
                decimal cVlrTributavel  = 0;
                decimal cVlrIpi         = 0;
                decimal cVlrPis         = 0;  
                decimal cVlrCofins      = 0;
                decimal cQtdEmb         = 0;
                decimal cPercIpi        = 0;
                //<<51667
                                  
                dcdc.PEDIDOs.InsertOnSubmit(p);

                foreach (ProdutoResumido produto in produtos)
                {
                    ITENSPED itped          = new ITENSPED();

                    /*  Verifica qual unidade de venda
                     *  0 = Menor Unidade (Padrão)
                     *  2 = Maior Unidade (Selecionada pelo usuário)
                     */
                    int iUniVend = produto.UnidadeVenda == "0" ? 0 : 2;
                    
                    itped.Consignacao       = 'N';
                    itped.Itp_CodTabPrz     = produto.Itp_CodTabPrz; 
                    itped.Reserva           = Convert.ToChar(pr.SaldoPed);
                    itped.CodEmp            = (short)codEmp;
                    itped.Qtd               = (decimal)produto.Quantidade;
                    itped.Item              = (short)(produtos.IndexOf(produto) + 1);
                    itped.CodServMerc       = produto.Codigo;

                    //Comissao Tabela de Preco                
                    r = csBanco.Query("SELECT COMISSAO, FATOR FROM FATORES  WHERE CODSERVMERC = " + produto.Codigo + " AND CodTipPrc = " + CodPrc_Tab + " AND CodTipPrz = " + produto.Itp_CodTabPrz + "");
                    decimal dComissaoTabela=0; 
                    if (r.Read())
                    {
                        dComissaoTabela = Convert.ToDecimal(r["COMISSAO"].ToString());
                    }

                    r.Close();

                    itped.NumPed            = NumPed; 
                    //SERVMERC servMercadoria = dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == produto.Codigo);

                    r = csBanco.Query("SELECT QTDEMB, VALORPIS, VALORCOFINS,  IPI, SERV_VALORIPI, PercDesc, Aliquota, Saldo, PesoLiq, PesoBruto FROM SERVMERC WHERE CODSERVMERC = " + produto.Codigo + "");
                    
                    if (r.Read())
                    {
                        itped.DescMax = Convert.ToDecimal(r["PercDesc"].ToString());
                        itped.Aliquota = Convert.ToDecimal(r["Aliquota"].ToString());
                        itped.Saldo = (decimal)(Convert.ToDecimal(r["Saldo"].ToString()) - (decimal)produto.Quantidade);

                        //Bug com LinqToSql , tivemos que fazer calculo manualmente...
                        var cLiq = Convert.ToDecimal(r["PesoLiq"].ToString());
                        p.PesoLiq += cLiq * produto.Quantidade;

                        var cBruto = Convert.ToDecimal(r["PesoBruto"].ToString());
                        p.PesoBruto += cBruto * produto.Quantidade;

                        //<<51667
                        cPercIpi     = Convert.ToDecimal(r["IPI"] == null ? "0" : r["IPI"].ToString());
                        cVlrIpi      = Convert.ToDecimal(r["SERV_VALORIPI"] == null ? "0" : r["SERV_VALORIPI"].ToString());
                        cVlrPis      = Convert.ToDecimal(r["VALORPIS"].ToString() == "" ? "0" : r["VALORPIS"].ToString());
                        cVlrCofins   = Convert.ToDecimal(r["VALORCOFINS"].ToString() == "" ? "0" : r["VALORCOFINS"].ToString());
                        cQtdEmb      = Convert.ToDecimal(r["QTDEMB"].ToString() == "" ? "0" : r["QTDEMB"].ToString());
                        //<<51667
                    }
                    r.Close();

                    cPesoTotal              = cPesoTotal + produto.Peso;
                    itped.VlrProm           = 0;                    
                    itped.UniVenda          = (short)iUniVend;
                    
                    if (produto.QtdCaixa == 0)
                    {
                        produto.QtdCaixa = 1;
                    }
                    //Maior e menor unidade
                    decimal cQtdSolicitada  = (Convert.ToDecimal(produto.Quantidade) / Convert.ToDecimal(produto.QtdCaixa));

                    //String.Format("{0:" + Funcoes.Decimais(pr) + "}", products.Sum(p => p.TotalParcial));

                    //itped.VlrUni            = iUniVend == 2 ? (double)(Convert.ToDecimal(produto.Preco) / Convert.ToDecimal(produto.Quantidade)) : (double)produto.Preco;                    
                    //itped.VlrReal           = iUniVend == 2 ? (decimal)produto.Preco / cQtdSolicitada : (decimal)produto.Preco;
                    //itped.VLRUNIVENDA       = iUniVend == 2 ? (double)produto.Preco / (double)cQtdSolicitada : (double)produto.Preco;
                    //itped.QTDUNIVENDA       = iUniVend == 2 ? cQtdSolicitada : produto.Quantidade;

                    //if (iUniVend == 2)
                    //{
                    //    itped.VLRUNIVENDALIQ = ((double)produto.Preco / (double)cQtdSolicitada) - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (((double)produto.Preco / (double)cQtdSolicitada) * ((double)produto.Desconto / 100))));
                    //}
                    //else
                    //{
                    //    itped.VLRUNIVENDALIQ = (double)produto.Preco - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", ((double)produto.Preco * (double)produto.Desconto / 100)));
                    //}


                    //49199
                    string sPrecoUnitario, sPrecoUnitarioReal, sPrecoUnitarioOriginal;
                    decimal dValorUnitarioLiq;
                    if (iUniVend == 2)
                    {
                        sPrecoUnitario = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (double)(Convert.ToDecimal(produto.Preco) / Convert.ToDecimal(produto.Quantidade)));
                        sPrecoUnitarioReal = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)produto.Preco / cQtdSolicitada);
                        sPrecoUnitarioOriginal = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)produto.PrecoReal / cQtdSolicitada);
                    }
                    else
                    {
                        sPrecoUnitario = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (double)produto.Preco);
                        sPrecoUnitarioReal = sPrecoUnitario;
                        sPrecoUnitarioOriginal = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (double)produto.PrecoReal);
                    }

                    itped.ValorIpi = 0;
                    itped.BASEIPI = 0;
                    itped.ALIQIPI = 0;
                    itped.IPIUNIVENDA = 0;

                    /*51954*///Calcular o Valor unitario liquido antes do calculo da Qtd e Vlr tributavel IPI
                    if (iUniVend == 2)
                    {
                        //itped.VLRUNIVENDALIQ = ((double)produto.Preco / (double)cQtdSolicitada) - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (((double)produto.Preco / (double)cQtdSolicitada) * ((double)produto.Desconto / 100))));
                        dValorUnitarioLiq = (Convert.ToDecimal(sPrecoUnitarioReal) - (Convert.ToDecimal(sPrecoUnitarioReal) * produto.Desconto / 100));
                    }
                    else
                    {
                        //itped.VLRUNIVENDALIQ = (double)produto.Preco - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", ((double)produto.Preco * (double)produto.Desconto / 100)));
                        dValorUnitarioLiq = (Convert.ToDecimal(sPrecoUnitario) - (Convert.ToDecimal(sPrecoUnitario) * produto.Desconto / 100));
                    }

                    dValorUnitarioLiq = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", dValorUnitarioLiq));

                    //>>51667
                    //51954 - Considerar o valor unitario liquido.
                    if (sValidaIPI == "S") { /* Se valida IPI */
                        if (cPercIpi <= 0)  /* Se percentual do IPI for zero, considerar valor*/
                        {
                            cVlrTributavel = Convert.ToDecimal(dValorUnitarioLiq) / (cQtdEmb == 0 ? 1 : cQtdEmb);
                            cQtdTributavel = (decimal)itped.Qtd * (cQtdEmb == 0 ? 1 : cQtdEmb);

                            /*51827*/
                            if (cVlrIpi > 0) /* Se houver valor de IPI no cadastro da mercadoria*/
                            {
                                //itped.ValorIpi = cQtdTributavel * cVlrIpi;
                                /*Tratar casas decimais*/
                                itped.ValorIpi = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (cQtdTributavel * cVlrIpi)));

                                itped.BASEIPI = (decimal)itped.Qtd * Convert.ToDecimal(dValorUnitarioLiq);
                                itped.ALIQIPI  = 0;
                                itped.IPIUNIVENDA = itped.ValorIpi;
                            }
                        }
                        else if (cPercIpi > 0) /* Existe Percentual IPI */
                        {
                            cVlrTributavel = Convert.ToDecimal(dValorUnitarioLiq);
                            cQtdTributavel = (decimal)itped.Qtd;

                            /*51827*/
                            itped.BASEIPI = cQtdTributavel * Convert.ToDecimal(dValorUnitarioLiq);
                            
                            //itped.ValorIpi = ((itped.BASEIPI * cPercIpi) / 100);
                            /*Tratar casas decimais*/
                            itped.ValorIpi = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", ((itped.BASEIPI * cPercIpi) / 100)));

                            itped.IPIUNIVENDA = itped.ValorIpi;
                            /* Verificar incidencias sobre base IPI ?*/
                            itped.ALIQIPI = cPercIpi;                            
                        }

                        if (sIncidenciaDescBaseIpi.Equals("S"))
                        {
                            itped.BASEIPI = itped.BASEIPI - Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (itped.BASEIPI * DescontoPedido / 100)));
                        }

                        /*51827*/
                        if (varCLIE_IPISuspenso.Equals("S")) /* Se cliente for suspenso IPI, zera valores calculados*/
                        {                            
                            itped.ValorIpi = 0;
                            itped.BASEIPI = 0;
                            itped.ALIQIPI = 0;
                            itped.IPIUNIVENDA = 0;
                        }

                    } /*Não validad IPI*/
                        else
                        {
                            if (cVlrPis > 0 || cVlrCofins > 0)
                            {
                                cVlrTributavel = Convert.ToDecimal(dValorUnitarioLiq) / (cQtdEmb == 0 ? 1 : cQtdEmb);
                                cQtdTributavel = (decimal)itped.Qtd * (cQtdEmb == 0 ? 1 : cQtdEmb);
                            }
                            else
                            {
                                cVlrTributavel = Convert.ToDecimal(dValorUnitarioLiq);
                                cQtdTributavel = (decimal)itped.Qtd;
                            }
                    }

                    itped.QTDTRIBUTAVEL = cQtdTributavel;
                    itped.VLRTRIBUTAVEL = cVlrTributavel;
                    //<<51667

                    itped.VlrUni = Convert.ToDouble(sPrecoUnitario);
                   
                  //itped.VlrReal = Convert.ToDecimal(sPrecoUnitarioReal);
                    itped.VlrReal = Convert.ToDecimal(sPrecoUnitarioOriginal);

                    itped.VLRUNIVENDA = Convert.ToDouble(sPrecoUnitarioReal);
                    itped.QTDUNIVENDA = iUniVend == 2 ? cQtdSolicitada : produto.Quantidade;

                    /*51954*/
                    //if (iUniVend == 2)
                    //{
                    //    //itped.VLRUNIVENDALIQ = ((double)produto.Preco / (double)cQtdSolicitada) - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (((double)produto.Preco / (double)cQtdSolicitada) * ((double)produto.Desconto / 100))));
                    //    dValorUnitarioLiq    = (Convert.ToDecimal(sPrecoUnitarioReal) - (Convert.ToDecimal(sPrecoUnitarioReal) * produto.Desconto / 100));                        
                    //}
                    //else
                    //{
                    //    //itped.VLRUNIVENDALIQ = (double)produto.Preco - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", ((double)produto.Preco * (double)produto.Desconto / 100)));
                    //    dValorUnitarioLiq = (Convert.ToDecimal(sPrecoUnitario) - (Convert.ToDecimal(sPrecoUnitario) * produto.Desconto / 100));                        
                    //}

                    //dValorUnitarioLiq       = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", dValorUnitarioLiq));
                    itped.VLRUNIVENDALIQ    = Convert.ToDouble(dValorUnitarioLiq);
                                                           
                    itped.QtdCan            = 0;
                    itped.QTDCANUNIVENDA    = 0;
                    itped.QtdTroca          = 0;
                    itped.VlrDes            = produto.Desconto; //FABIANO - 07/10/2011
                    itped.ValorDesconto     = 0;
                    itped.VlrDescRateio     = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (((decimal)itped.VLRUNIVENDALIQ * DescontoPedido / 100) * (decimal)itped.Qtd)));
                    itped.PerDescRateio     = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", DescontoPedido)); 
                    itped.PercDescGordura   = 0;
                    itped.VLRADICIONAL      = 0;
                    itped.VLREMBALAGEM      = 0;

                    itped.VlrComiss = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)ClasseComissao.CalculaComissao(pr,
                                                                                    Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", iUniVend == 2 ? (double)(Convert.ToDecimal(itped.VLRUNIVENDALIQ) / Convert.ToDecimal(produto.QtdCaixa)) : (double)itped.VLRUNIVENDALIQ)), 
                                                                                    (decimal)itped.Qtd, 
                                                                                    0, 
                                                                                    0, 
                                                                                    comissao_vendedor,
                                                                                    dComissaoTabela, 
                                                                                    produto.Comissao, 
                                                                                    produto.Comissao, 
                                                                                    "N",
                                                                                    0, 
                                                                                    0, 
                                                                                    produto.Comissao, 
                                                                                    (decimal)comissao_televend,
                                                                                    (Int16)iIncideVend,
                                                                                    (Int16)iIncideTelev,
                                                                                    (Int32)produto.Codigo,
                                                                                    produto.Desconto)));

                    itped.ComissaoUsada = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)ClasseComissao.ComissaoUsada)); 
                    
                    //VALOR DA COMISSAO TELEVENDEDOR 
                    itped.COMISSAOTELEV         = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)ClasseComissao.CalculaComissao(pr,
                                                                                    Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", iUniVend == 2 ? (double)(Convert.ToDecimal(itped.VLRUNIVENDALIQ) / Convert.ToDecimal(produto.QtdCaixa)) : (double)itped.VLRUNIVENDALIQ)), 
                                                                                    (decimal)itped.Qtd, 
                                                                                    0, 
                                                                                    0, 
                                                                                    comissao_vendedor,
                                                                                    dComissaoTabela,
                                                                                    produto.ComissaoTel, 
                                                                                    produto.Comissao, 
                                                                                    "T", 
                                                                                    0, 
                                                                                    0, 
                                                                                    produto.Comissao, 
                                                                                    (decimal)comissao_televend,
                                                                                    (Int16)iIncideVend,
                                                                                    (Int16)iIncideTelev,
                                                                                    (Int32)produto.Codigo,
                                                                                    produto.Desconto)));

                    itped.COMISSAOUSADATELEV = (decimal)ClasseComissao.ComissaoUsadaTele;
                    itped.FatorComiss        = (decimal)ClasseComissao.FatorDesconto;

                    TotalComissao       += (decimal)itped.VlrComiss;
                    TotalComissaoTelev  += (decimal)itped.COMISSAOTELEV;

                    dcdc.ITENSPEDs.InsertOnSubmit(itped);
                }

                p.Comissao              = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", TotalComissao));        //Valor da comissao VENDEDOR
                p.COMISSAOTELEV         = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", TotalComissaoTelev));   //Valor da comissao do TELEVENDEDOR (OU SEGUNDO VENDEDOR)
                //p.PesoBruto             = cPesoTotal;
                //p.PesoLiq               = cPesoTotal;
                dcdc.SubmitChanges();
                dcdc.Dispose();
                return NumPed;
                

            }
            catch (Exception ex)
            {
                if (!String.IsNullOrEmpty(ex.Message))
                {
                    throw new Exception(ex.Message);
                }
                else
                {
                    return -1;
                }
            }
        }
Ejemplo n.º 35
0
 partial void UpdatePEDIDO(PEDIDO instance);
Ejemplo n.º 36
0
        public static List<ItemPedidoResumido> ItensPedido(PEDIDO pedido, UsuarioResumido u, ParametroResumido pr, Int16 CodPrcTab, Int16 CodPrzTab)
        {
            
            List<ItemPedidoResumido> itens = new List<ItemPedidoResumido>();
            List<ITENSPED> itensPed = new DataClassesDataContext().ITENSPEDs.Where(i => i.NumPed == pedido.NumPed && i.CodEmp == u.CodEmp).ToList();
            foreach (ITENSPED item in itensPed)
            {
                ItemPedidoResumido i = new ItemPedidoResumido();
                i.CodServMerc = item.CodServMerc;
                i.Item = item.Item;
                i.NumPed = item.NumPed;

                /*52033*/
                if (pedido.SitPed.Equals("EXE"))
                {
                    i.Qtd = item.QtdFat == null ? 0 : (decimal)item.QtdFat; 
                }
                else
                {
                    i.Qtd = (decimal)item.Qtd;
                }
                                
                if (item.UniVenda == 2)
                {
                    i.PrecoLiquido = (decimal)item.VlrUni;
                    i.PrecoLiquido = (decimal)item.VLRUNIVENDALIQ / i.Qtd;
                    i.PrecoProduto = (decimal)item.VlrUni;
                }
                else
                {
                    i.PrecoLiquido = item.VLRUNIVENDALIQ == null ? 0 : (decimal)item.VLRUNIVENDALIQ;
                    i.PrecoProduto = ((decimal)item.VLRUNIVENDA); //preco total
                }

                i.Desconto = (decimal)item.VlrDes;
                

                if (item.UniVenda==2)
                {
                    i.Total = (item.VLRUNIVENDALIQ == null ? 0 : (decimal)item.VLRUNIVENDALIQ * (decimal)item.QTDUNIVENDA);
                }
                else
                {
                    i.Total = (item.VLRUNIVENDALIQ == null ? 0 : (decimal)item.VLRUNIVENDALIQ * i.Qtd);
                }

                try
                {
                    //List<ProdutoResumido> lpr = ClasseProdutos.Produto(u, item.CodServMerc, pr, CodPrcTab, CodPrzTab);
                    List<ProdutoResumido> lpr = ClasseProdutos.buscaProdutosPorCodigo(u, pr, item.CodServMerc, CodPrcTab, CodPrzTab);
                    if (lpr != null)
                    {
                        i.Saldo = (int)(lpr.Count < 1 ? 0 : lpr[0].Saldo / 1);
                        //i.DescricaoProduto = ClasseProdutos.Produto(u, item.CodServMerc, pr, CodPrcTab, CodPrzTab).Count < 1 ? "" : ClasseProdutos.Produto(u, item.CodServMerc, pr, CodPrcTab, CodPrzTab)[0].Nome;
                        i.DescricaoProduto = ClasseProdutos.buscaProdutosPorCodigo(u, pr, item.CodServMerc, CodPrcTab, CodPrzTab).Count < 1 ? "" : ClasseProdutos.buscaProdutosPorCodigo(u, pr, item.CodServMerc, CodPrcTab, CodPrzTab)[0].Nome;
                        i.Peso = Convert.ToDecimal(lpr[0].Peso.ToString()) * i.Qtd;

                    }
                    else
                    {
                        i.Saldo = 0;
                        i.Peso = 0;
                        i.DescricaoProduto = "PRODUTO NÃO ENCONTRADO OU INATIVO";
                    }
                }
                catch (Exception excp)
                {
                    i.Saldo = 0;
                    i.Peso = 0;
                    i.DescricaoProduto = "PRODUTO NÃO ENCONTRADO OU INATIVO";
                }
                
                itens.Add(i);
            }
            return itens;
        }
Ejemplo n.º 37
0
 partial void DeletePEDIDO(PEDIDO instance);