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)); }
public ActionResult DeleteConfirmed(int id) { InventarioArticulo inventarioArticulo = db.InventarioArticulos.Find(id); db.InventarioArticulos.Remove(inventarioArticulo); db.SaveChanges(); return(RedirectToAction("Index")); }
// 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)); }
// 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)); }
// **************************************************************** //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)); }