Exemplo n.º 1
0
        public ActionResult Create(Venta venta,string operacion=null)
        {
            
            if (venta == null)
            {
                venta = new Venta();
            }

            if (operacion==null)
            {
                if (ModelState.IsValid)
                {
                    if (venta.DetalleVenta != null && venta.DetalleVenta.Count > 0)
                    {
                        venta.Fecha = DateTime.Now;

                        foreach (var item in venta.DetalleVenta)
                        {
                            venta.TotalPagar = venta.TotalPagar + (item.Cantidad * item.Precio);
                        }
                        
                        
                        db.Venta.Add(venta);
                        db.SaveChanges();
                        return RedirectToAction("Index");
                    }
                    else
                    {
                        ModelState.AddModelError("", "La venta no tiene ningun producto");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "No se pudo grabar la venta");
                }
            }
            else if (operacion == "agregar")
            {

               
             
                venta.DetalleVenta.Add(new DetalleVenta());
                
            }
            else if (operacion.StartsWith("eliminar-"))
            {
                EliminarDetalle(venta, operacion);
            }
            ViewBag.IdCliente = new SelectList(db.Cliente.ToList(), "IdCliente", "Nombre",venta.IdCliente);
            ViewBag.IdEmpleado = new SelectList(db.Empleado.ToList(), "IdEmpleado", "Nombre",venta.IdEmpleado);
            ViewBag.IdTipoComprobante = new SelectList(db.TipoComprobante.ToList(), "IdTipoComprobante", "Descripcion",venta.IdTipoComprobante);
          
            ViewBag.Productos = db.Producto.ToList();
            return View(venta);
    }
Exemplo n.º 2
0
    private void EliminarDetalle(Venta venta, string operacion)
    {
        string indexUrl = operacion.Replace("eliminar-","");
        int index = 0;

        if (int.TryParse(indexUrl,out index) && index>=0 && index<venta.DetalleVenta.Count)
        {
            var item = venta.DetalleVenta.ToArray()[index];
            venta.DetalleVenta.Remove(item);
        }
    }