Beispiel #1
0
        public ActionResult Editar(int id)
        {
            dbHeredadesEntities db     = new dbHeredadesEntities();
            tbDeudor            deudor = db.tbDeudor.Find(id);

            return(View(deudor));
        }
Beispiel #2
0
        public ActionResult Compras(int id, int pagina = 1)
        {
            dbHeredadesEntities db    = new dbHeredadesEntities();
            List <clsVentas>    lista = (from t in db.tbVenta
                                         where t.codDeudor == id
                                         orderby t.fecha descending
                                         select new clsVentas
            {
                codVenta = t.codVenta,
                fecha = t.fecha,
                codDeudor = t.codDeudor,
                tbDeudor = t.tbDeudor,
                tbVentaProducto = t.tbVentaProducto
            }).ToList();

            foreach (clsVentas item in lista)
            {
                decimal total = 0;
                foreach (tbVentaProducto producto in item.tbVentaProducto)
                {
                    total += (producto.precioVenta + producto.agregado) * producto.cantidad;
                }
                item.total = Math.Truncate(100 * total) / 100;
            }
            tbDeudor   deudor     = db.tbDeudor.Find(id);
            int        paginas    = (int)Math.Ceiling((double)lista.Count() / registrosPagina);
            Paginacion paginacion = new Paginacion(id, pagina, paginas, "Pagos", "Deudor");

            ViewBag.paginacion = paginacion;
            ViewBag.deudor     = deudor.nombre;
            ViewBag.codDeudor  = deudor.codDeudor;
            return(View(lista.Skip((pagina - 1) * registrosPagina).Take(registrosPagina)));
        }
Beispiel #3
0
        public ActionResult Pagar(int id)
        {
            dbHeredadesEntities db     = new dbHeredadesEntities();
            tbDeudor            deudor = db.tbDeudor.Find(id);

            ViewBag.deudor    = deudor.nombre;
            ViewBag.codDeudor = deudor.codDeudor;
            return(View());
        }
Beispiel #4
0
        public int CrearDeudor(tbDeudor deudor)
        {
            dbHeredadesEntities db = new dbHeredadesEntities();

            deudor.deuda = 0;
            db.tbDeudor.Add(deudor);
            db.SaveChanges();
            return(deudor.codDeudor);
        }
Beispiel #5
0
        public ActionResult Pagos(int id, int pagina = 1)
        {
            dbHeredadesEntities db     = new dbHeredadesEntities();
            List <tbPagoDeudor> lista  = db.tbPagoDeudor.Where(t => t.codDeudor == id).OrderByDescending(t => t.fecha).ToList();
            tbDeudor            deudor = db.tbDeudor.Find(id);
            int        paginas         = (int)Math.Ceiling((double)lista.Count() / registrosPagina);
            Paginacion paginacion      = new Paginacion(id, pagina, paginas, "Pagos", "Deudor");

            ViewBag.paginacion = paginacion;
            ViewBag.deudor     = deudor.nombre;
            ViewBag.codDeudor  = deudor.codDeudor;
            return(View(lista.Skip((pagina - 1) * registrosPagina).Take(registrosPagina)));
        }
Beispiel #6
0
        public ActionResult Editar(tbDeudor deudor)
        {
            dbHeredadesEntities db = new dbHeredadesEntities();

            if (!(db.tbDeudor.Any(t => t.nombre == deudor.nombre && t.codDeudor != deudor.codDeudor)))
            {
                db.Entry(deudor).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "¡Ya existe este deudor!");
                return(View(deudor));
            }
        }
Beispiel #7
0
        public ActionResult Crear(tbDeudor nuevo)
        {
            dbHeredadesEntities db = new dbHeredadesEntities();

            if (!(db.tbDeudor.Any(t => t.nombre == nuevo.nombre)))
            {
                nuevo.deuda = 0;
                db.tbDeudor.Add(nuevo);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            else
            {
                ModelState.AddModelError(string.Empty, "¡Ya existe este proveedor!");
                return(View(nuevo));
            }
        }
Beispiel #8
0
        public ActionResult Pagar(int codDeudor, decimal pago)
        {
            dbHeredadesEntities db      = new dbHeredadesEntities();
            tbPagoDeudor        debitar = new tbPagoDeudor
            {
                codDeudor  = codDeudor,
                codUsuario = Sesion.ObtenerCodigo(),
                pago       = pago,
                fecha      = DateTime.Now
            };

            db.tbPagoDeudor.Add(debitar);
            tbDeudor deudor = db.tbDeudor.Find(codDeudor);

            deudor.deuda -= pago;
            tbCaja caja = db.tbCaja.Find(1);

            caja.cantidad += pago;
            db.SaveChanges();
            return(RedirectToAction("Pagos", new { id = codDeudor }));
        }
Beispiel #9
0
        public int Vender(List <ProductoVenta> lista, int?codDeudor)
        {
            try
            {
                dbHeredadesEntities db     = new dbHeredadesEntities();
                tbDeudor            deudor = null;
                tbVenta             venta  = new tbVenta
                {
                    fecha      = DateTime.Now,
                    codUsuario = Sesion.ObtenerCodigo(),
                    estado     = true
                };
                if (codDeudor != null)
                {
                    venta.codDeudor = codDeudor.Value;
                    deudor          = db.tbDeudor.Find(codDeudor);
                }
                //variable para calcular la deuda total al deudor o que entra a caja
                decimal total = 0;

                foreach (ProductoVenta item in lista)
                {
                    tbProductoPresentacion prodPres = db.tbProductoPresentacion.Find(item.codProducto, item.codPresentacion);
                    //Se crea el nuevo obejeto de venta con el precio escogido
                    tbVentaProducto producto = new tbVentaProducto
                    {
                        codProducto     = prodPres.codProducto,
                        codPresentacion = prodPres.codPresentacion,
                        cantidad        = item.cantidad,
                        precioVenta     = (item.precioSeleccionado == 1) ? prodPres.precioVentaMinimo : ((item.precioSeleccionado == 2) ? prodPres.precioVentaMedio : prodPres.precioVentaMaximo),
                        agregado        = prodPres.agregado
                    };
                    venta.tbVentaProducto.Add(producto);
                    //se reduce la venta a la existencia
                    prodPres.existencia -= item.cantidad;
                    //se agrega al total
                    if (deudor != null)
                    {
                        total += (producto.precioVenta + producto.agregado) * producto.cantidad;
                    }
                    else
                    {
                        total += producto.precioVenta * producto.cantidad;
                    }
                }
                if (deudor != null)
                {
                    //si hay un deudor, se le agrega a la deuda
                    deudor.deuda += total;
                }
                else
                {
                    //si no hay deudor, se agrega a la caja
                    tbTransaccionCaja transaccionCaja = new tbTransaccionCaja
                    {
                        tipoTransaccion = 0,
                        codUsuario      = Sesion.ObtenerCodigo(),
                        cantidad        = total,
                        fecha           = DateTime.Now
                    };
                    CajaController.Sumar(total);
                    db.tbTransaccionCaja.Add(transaccionCaja);
                }
                db.tbVenta.Add(venta);
                db.SaveChanges();
                return(1);
            }
            catch (Exception)
            {
                return(2);
            }
        }