コード例 #1
0
        public ActionResult Create([Bind(Include = "Id_Articulo,Id_Trabajador,Id_Proveedor,Codigo,Descripcion,Marca,Modelo,Year,Id_Categoria,Id_Presentacion,Fecha_Entrada,CostoUnitario,PrecioUnitarioVenta,CantidadDisponible,CantidadReposicion,Estatus,Almacen,Tramo,ArtImagen")] InventarioArticulo inventarioArticulo, HttpPostedFileBase archivo)
        {
            if (archivo != null)
            {
                string imgName  = Path.GetFileName(archivo.FileName);
                string fisiPath = Server.MapPath("~/Content/Imagenes/" + imgName);
                archivo.SaveAs(fisiPath);
                inventarioArticulo.ArtImagen = imgName;
            }

            if (ModelState.IsValid)
            {
                db.InventarioArticulos.Add(inventarioArticulo);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            //ViewBag.Id_Articulo = new SelectList(db.CarroCompras, "Id_CarroCompras", "Id_CarroCompras", inventarioArticulo.Id_Articulo);
            ViewBag.Id_Empleado     = new SelectList(db.Empleados, "Id", "Nombre", inventarioArticulo.Id_Trabajador);
            ViewBag.Id_Categoria    = new SelectList(db.Categorias, "Id", "Descripcion", inventarioArticulo.Id_Categoria);
            ViewBag.Id_Presentacion = new SelectList(db.Presentacions, "Id", "Descripcion", inventarioArticulo.Id_Presentacion);
            ViewBag.Id_Proveedor    = new SelectList(db.Proveedores, "Id", "Razon_Social", inventarioArticulo.Id_Proveedor);

            return(View(inventarioArticulo));
        }
コード例 #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            InventarioArticulo inventarioArticulo = db.InventarioArticulos.Find(id);

            db.InventarioArticulos.Remove(inventarioArticulo);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #3
0
        // GET: Productos/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            InventarioArticulo inventarioArticulo = db.InventarioArticulos.Find(id);

            if (inventarioArticulo == null)
            {
                return(HttpNotFound());
            }
            return(View(inventarioArticulo));
        }
コード例 #4
0
        // GET: Productos/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            InventarioArticulo inventarioArticulo = db.InventarioArticulos.Find(id);

            if (inventarioArticulo == null)
            {
                return(HttpNotFound());
            }

            ViewBag.Id_Empleado     = new SelectList(db.Empleados, "Id", "Nombre");
            ViewBag.Id_Categoria    = new SelectList(db.Categorias, "Id", "Descripcion");
            ViewBag.Id_Presentacion = new SelectList(db.Presentacions, "Id", "Descripcion");
            ViewBag.Id_Proveedor    = new SelectList(db.Proveedores, "Id", "Razon_Social");

            return(View(inventarioArticulo));
        }
コード例 #5
0
        // ****************************************************************
        //string buscar = TextoBuscar.ToUpper();
        //var ArtQuery =
        //    from art in db.InventarioArticulos
        //    where (art.Descripcion).Contains(buscar)
        //    select art;
        //    return View(ArtQuery.ToList());



        // Aqui se registra y genera la factura final
        public ActionResult RegistrarFactura(int?id)
        {
            String NombreEmpleado;

            NombreEmpleado = (String)Session["PersonalName"];
            if (FacturaRegistrada == false)
            {
                CalculaTotales(); // Siempre hacemos refresh de los totales
                MantieneDatosClientes();



                String tipo = (String)TempData.Peek("TipoNCF");


                // Incrementamos el NCFs Correspondiente
                EmpresaConfig empresa = new EmpresaConfig();
                empresa = db.EmpresaConfigs.SingleOrDefault(s => s.EmpresaID > 0);
                if (tipo == "01")
                {
                    NCF = String.Format("{0:00000000}", empresa.NCF01_Proximo);
                    NCF = "B01" + NCF;
                    empresa.NCF01_Proximo++;
                }
                else
                {
                    NCF = String.Format("{0:00000000}", empresa.NCF02_Proximo);
                    NCF = "B02" + NCF;
                    empresa.NCF02_Proximo++;
                }

                db.Entry(empresa).State = EntityState.Modified;
                db.SaveChanges();


                // Registramos Factura
                Venta venta = new Venta();
                venta.Id_Cliente = ID_Cliente;
                //venta.Id_Trabajador =  // confirmar donde esta este dato.
                venta.MontoDescuento = decimal.Parse("0.00");
                venta.MontoExento    = decimal.Parse("0.00");
                String Monto = String.Format("{0:F2}", TempData.Peek("Subtotal"));
                Monto = Monto.Replace('$', ' ');
                venta.MontoGravado = decimal.Parse(Monto);
                Monto                   = (String)TempData.Peek("Itbis");
                Monto                   = Monto.Replace('$', ' ');
                venta.MontoItbis        = decimal.Parse(Monto);
                venta.ComprobanteFiscal = NCF;
                venta.Fecha             = DateTime.Now;
                venta.Estatus           = true;
                venta.Correlativo       = "";
                venta.Igv               = decimal.Parse("0.00");
                venta.ComprobanteFiscal = NCF;
                db.Ventas.Add(venta);
                db.SaveChanges();
                int ID_Venta = venta.Id;  // VERIFICAR QUE AQUI YA TIENE NUMERO Ok verificado

                // Registramos Inventario
                InventarioArticulo   inventario    = new InventarioArticulo();
                DetalleMovInventario movInventario = new DetalleMovInventario();
                DetalleVenta         detalleVenta  = new DetalleVenta();


                // Por cada item en el carrito, rebajamos del inventario
                var query = (from a in ventasCarrito
                             select a).ToList();

                foreach (var item in query)
                {
                    // Buscamos Inventario
                    // Es nuevo en el carrito
                    var inv = (from art in db.InventarioArticulos

                               where art.Id_Articulo == item.Id_Articulo
                               select art).FirstOrDefault();

                    // Escribimos Movimiento en inventario
                    movInventario.Id_Articulo       = inv.Id_Articulo;
                    movInventario.Id_Ventas         = ID_Venta; //***************************** Depende de arriba
                    movInventario.Precio_Compra     = decimal.Parse("0.00");
                    movInventario.Precio_Venta      = (decimal)item.PrecioUnitarioVenta;
                    movInventario.Requisicion       = "";
                    movInventario.Stock_Inicial     = (int)inv.CantidadDisponible;
                    movInventario.Stock_Actual      = (int)(inv.CantidadDisponible - item.Cantidad);
                    movInventario.Estatus           = true;
                    movInventario.Fecha_produccion  = DateTime.Now;
                    movInventario.Fecha_vencimiento = DateTime.Now;
                    db.DetalleMovInventarios.Add(movInventario);
                    db.SaveChanges();

                    // Escribimos Movimiento en ventas
                    detalleVenta.Cantidad            = item.Cantidad;
                    detalleVenta.DescuentoVenta      = decimal.Parse("0.00");
                    detalleVenta.Estatus             = true;
                    detalleVenta.Id_Articulo         = item.Id_Articulo;
                    detalleVenta.Id_MovInventario    = movInventario.Id; // ***** VERIFICAR SI DESPUES DEL ADD ARRIBA YA TIENE ID(verificado)
                    detalleVenta.Id_Venta            = ID_Venta;
                    detalleVenta.PrecioUnitarioVenta = (decimal)item.PrecioUnitarioVenta;
                    detalleVenta.PrecioVenta         = (decimal)(item.PrecioUnitarioVenta * item.Cantidad);
                    db.DetalleVentas.Add(detalleVenta);
                    db.SaveChanges();

                    // Actualizamos Inventario
                    inv.CantidadDisponible = inv.CantidadDisponible - item.Cantidad;
                    db.Entry(inv).State    = EntityState.Modified;
                    db.SaveChanges();
                    FacturaRegistrada = true;
                }

                // Preparamos todo para la factura y dejamos que el view la haga.
                String Fecha = String.Format("{0:dd/MM/yyyy}", DateTime.Now);
                TempData["FECHAFACTURA"] = Fecha;
                TempData["VENDEDOR"]     = NombreEmpleado;
                TempData["METODOPAGO"]   = "-";
            }



            CalculaTotales(); // Siempre hacemos refresh de los totales
            MantieneDatosClientes();
            return(View(ventasCarrito));
        }