public int CrearPedido(int codProveedor, List <tbProductoTransaccion> lista, string descripcion) { try { dbHeredadesEntities db = new dbHeredadesEntities(); // creo el objeto transacción tbTransaccion nuevaEntrada = new tbTransaccion { codProveedor = codProveedor, codTipoTransaccion = 0, codUsuario = Sesion.ObtenerCodigo(), descripcion = descripcion, fecha = DateTime.Now, estado = true }; // se agregan todos los productos al pedido pero sin precio foreach (tbProductoTransaccion item in lista) { nuevaEntrada.tbProductoTransaccion.Add(item); } //agrego la transaccion y guardo cambios db.tbTransaccion.Add(nuevaEntrada); db.SaveChanges(); return(1); } catch (Exception) { return(2); } }
public ActionResult DetalleSalida(int id) { dbHeredadesEntities db = new dbHeredadesEntities(); tbTransaccion salida = db.tbTransaccion.Find(id); return(View(salida)); }
public ActionResult CambiarEstado(int id, FormCollection collection) { dbHeredadesEntities db = new dbHeredadesEntities(); tbTransaccion transaccion = db.tbTransaccion.Find(id); transaccion.estado = !(transaccion.estado); if (transaccion.codTipoTransaccion == 0) { db.SaveChanges(); return(RedirectToAction("Pedidos")); } else { foreach (tbProductoTransaccion item in transaccion.tbProductoTransaccion) { tbProductoPresentacion prod = db.tbProductoPresentacion.Find(item.codProducto, item.codPresentacion); if (transaccion.estado) { prod.existencia -= item.cantidad; } else { prod.existencia += item.cantidad; } } db.SaveChanges(); return(RedirectToAction("Salidas")); } }
public int CrearSalida(List <tbProductoTransaccion> lista, string descripcion) { try { dbHeredadesEntities db = new dbHeredadesEntities(); // creo la nueva transacción tbTransaccion nuevaSalida = new tbTransaccion { codUsuario = Sesion.ObtenerCodigo(), codTipoTransaccion = 2, descripcion = descripcion, fecha = DateTime.Now, estado = true }; foreach (tbProductoTransaccion item in lista) { nuevaSalida.tbProductoTransaccion.Add(item); //quito la existencia del producto tbProductoPresentacion prod = db.tbProductoPresentacion.Find(item.codProducto, item.codPresentacion); prod.existencia -= item.cantidad; } db.tbTransaccion.Add(nuevaSalida); db.SaveChanges(); return(1); } catch (Exception ex) { return(2); } }
public ActionResult DetallePedido(int id) { dbHeredadesEntities db = new dbHeredadesEntities(); tbTransaccion pedido = db.tbTransaccion.Find(id); return(View(pedido)); }
public ActionResult DetalleEntrada(int id) { dbHeredadesEntities db = new dbHeredadesEntities(); tbTransaccion entrada = db.tbTransaccion.Find(id); decimal total = 0; foreach (tbProductoTransaccion item in entrada.tbProductoTransaccion) { total += item.precioCompra.Value * item.cantidad; } ViewBag.total = total; return(View(entrada)); }
//Funciones public ActionResult CambiarEstado(int id, int tipoTransaccion) { dbHeredadesEntities db = new dbHeredadesEntities(); tbTransaccion transaccion = db.tbTransaccion.Find(id); string texto = ""; if (tipoTransaccion == 1) { texto = "Entrada"; } else { texto = "Salida"; } ViewBag.transaccion = texto; return(View(transaccion)); }
public int CrearEntrada(int codProveedor, List <tbProductoTransaccion> lista, string descripcion) { try { dbHeredadesEntities db = new dbHeredadesEntities(); // creo el objeto transacción tbTransaccion nuevaEntrada = new tbTransaccion { codProveedor = codProveedor, codTipoTransaccion = 1, codUsuario = Sesion.ObtenerCodigo(), descripcion = descripcion, fecha = DateTime.Now, estado = true }; decimal deuda = 0; foreach (tbProductoTransaccion item in lista) { // se asigna el precio de compra al item y se agrega a la tabla JOIN de productoTransacción item.precioCompra = db.tbProductoProveedor.Find(codProveedor, item.codProducto, item.codPresentacion).precioCompra; nuevaEntrada.tbProductoTransaccion.Add(item); // se agrega a la existencia del producto tbProductoPresentacion prod = db.tbProductoPresentacion.Find(item.codProducto, item.codPresentacion); prod.existencia += item.cantidad; // sumo a la deuda precioCompra * cantidadEntrada. deuda += item.cantidad * item.precioCompra.Value; } // calculo deuda total de entrada y la sumo a deuda total al proveedor. tbProveedor proveedor = db.tbProveedor.Find(codProveedor); proveedor.deuda += deuda; //agrego la transaccion y guardo cambios db.tbTransaccion.Add(nuevaEntrada); db.SaveChanges(); return(1); } catch (Exception) { return(2); } }
public ActionResult RecivirPedido(int id) { dbHeredadesEntities db = new dbHeredadesEntities(); // obtengo el pedido y lo convierto en una entrada tbTransaccion transaccion = db.tbTransaccion.Find(id); transaccion.codTipoTransaccion = 1; // cambio el usuario por el que recive el pedido transaccion.codUsuario = Sesion.ObtenerCodigo(); transaccion.fecha = DateTime.Now; foreach (tbProductoTransaccion item in transaccion.tbProductoTransaccion) { // a cada producto comprado le ingreso el precio de compra item.precioCompra = db.tbProductoProveedor.Find(transaccion.codProveedor, item.codProducto, item.codPresentacion).precioCompra; // agrego la entrada a la existencia tbProductoPresentacion producto = db.tbProductoPresentacion.Find(item.codProducto, item.codPresentacion); producto.existencia += item.cantidad; // agrego la deuda al proveedor tbProveedor proveedor = db.tbProveedor.Find(transaccion.codProveedor); proveedor.deuda += item.precioCompra.Value * item.cantidad; } db.SaveChanges(); return(RedirectToAction("Pedidos")); }