public void DeleteStock(DtoStock dto) { double cantidadBaja = (double)dto.Cantidad; double cantResto = 0; Stock stock = new Stock(); int idEmpl; using (AliyavaEntities context = new AliyavaEntities()) { bool existeProducto = context.Stock.Include("Producto").Any(a => a.Producto.codigo_barras == dto.codigoBarras); if (existeProducto) { stock = context.Stock.FirstOrDefault(f => f.Producto.codigo_barras == dto.codigoBarras); stock.Cantidad = (-stock.Cantidad); cantResto = (double)(cantidadBaja - (stock.Cantidad)); stock.Cantidad = cantResto; HistoricoStock hisStock = new HistoricoStock(); hisStock.Cantidad = (double)stock.Cantidad; hisStock.Ubicacion = stock.Ubicacion; hisStock.Motivo = dto.Motivo; hisStock.CantidadAddOBaja = cantidadBaja; idEmpl = context.Empleado.FirstOrDefault(f => f.NombreUsuario == stock.nombreUsuEmpleado).idEmpleado; hisStock.idEmpleado = idEmpl; context.HistoricoStock.Add(hisStock); context.SaveChanges(); if (stock.Cantidad == 0) { context.Stock.Remove(stock); context.SaveChanges(); } else { context.SaveChanges(); } } else { //Mensaje de error sobre "No existe el producto a dar de baja" } } }
public void asignarPedido(int idP, int idR, string NombreUsu) { using (AliyavaEntities context = new AliyavaEntities()) { //Asignar pedidos. Pedido Ped = context.Pedido.Include("Reparto").FirstOrDefault(f => f.Numero == idP); Reparto rep = context.Reparto.Include("Pedido").FirstOrDefault(f => f.idReparto == idR); Ped.Reparto = rep; rep.Pedido.Add(Ped); Ped.Estado = "En viaje"; rep.Estado = "En viaje"; Historico_de_Cambio_de_estados hisEstado = new Historico_de_Cambio_de_estados(); hisEstado.Accion = "El pedido ya está en viaje."; hisEstado.Estados = "En viaje"; hisEstado.numPedido = Ped.Numero; hisEstado.Funcionario = NombreUsu; hisEstado.FechaCambio = DateTime.Today; context.Historico_de_Cambio_de_estados.Add(hisEstado); context.SaveChanges(); } }
public bool ModificarProducto(DtoProducto DtoProdu) { bool msg; using (AliyavaEntities context = new AliyavaEntities()) { using (TransactionScope scope = new TransactionScope()) { try { Producto updatePro = context.Producto.FirstOrDefault(f => f.Codigo == DtoProdu.Codigo); updatePro.Descripcion = DtoProdu.Descripcion; updatePro.Familia = DtoProdu.Familia; updatePro.PrecioVenta = DtoProdu.PrecioVenta; updatePro.ProDescripcion = DtoProdu.ProDescripcion; updatePro.ImagenPro = DtoProdu.ImagenPro; context.SaveChanges(); scope.Complete(); } catch (Exception ex) { scope.Dispose(); return(msg = false); } return(msg = true); } } }
public bool RegistrarReparto(DtoReparto nuevoReparto) { bool msg; using (AliyavaEntities context = new AliyavaEntities()) { using (TransactionScope scope = new TransactionScope()) { try { Reparto nuevoR = new Reparto(); nuevoR.MatriculaVehiculo = nuevoReparto.MatriculaVehiculo; nuevoR.Estado = "En definición"; nuevoR.Chofer = nuevoReparto.Chofer; nuevoR.FechaSalida = DateTime.Today; context.Reparto.Add(nuevoR); context.SaveChanges(); scope.Complete(); } catch (Exception ex) { scope.Dispose(); return(msg = false); } return(msg = true); } } }
public List <DtoProducto> getProPreparar(int id, string NombreUsu) { List <DtoProducto> colDtoProducto = new List <DtoProducto>(); using (AliyavaEntities context = new AliyavaEntities()) { List <DetallePedido> colDet = context.DetallePedido.Where(w => w.idPedido == id).ToList(); Pedido ped = context.Pedido.FirstOrDefault(f => f.Numero == id); ped.Estado = "En preparación"; Historico_de_Cambio_de_estados hisEstado = new Historico_de_Cambio_de_estados(); hisEstado.Accion = "El pedido está en la fase de preparación."; hisEstado.Estados = "En preparación"; hisEstado.numPedido = ped.Numero; hisEstado.Funcionario = NombreUsu; hisEstado.FechaCambio = DateTime.Today; foreach (DetallePedido det in colDet) { DtoProducto dto = new DtoProducto(); dto.Codigo = det.idProducto; dto.CantidadPreparar = (int?)det.CantidadPreparar; dto.UbicacionPro = det.UbicacionPro; colDtoProducto.Add(dto); } context.Historico_de_Cambio_de_estados.Add(hisEstado); context.SaveChanges(); } return(colDtoProducto); }
public bool RegistrarCategoria(DtoCategoria dto) { bool msg; using (AliyavaEntities context = new AliyavaEntities()) { using (TransactionScope scope = new TransactionScope()) { try { Categoria Cat = new Categoria(); Cat.Nombre = dto.Nombre; context.Categoria.Add(Cat); context.SaveChanges(); scope.Complete(); } catch (Exception ex) { scope.Dispose(); return(msg = false); } return(msg = true); } } }
public bool RegistrarEmpleado(DtoEmpleado dto) { bool msg; using (AliyavaEntities context = new AliyavaEntities()) { using (TransactionScope scope = new TransactionScope()) { try { Empleado nuevoEmpleado = new Empleado(); nuevoEmpleado.NombreUsuario = dto.NombreUsuario; nuevoEmpleado.contraseña = dto.contraseña; nuevoEmpleado.email = dto.email; context.Empleado.Add(nuevoEmpleado); context.SaveChanges(); scope.Complete(); } catch (Exception ex) { scope.Dispose(); return(msg = false); } return(msg = true); } } }
public void eliminarRepartoById(int id) { using (AliyavaEntities context = new AliyavaEntities()) { Reparto reparto = context.Reparto.FirstOrDefault(f => f.idReparto == id); context.Reparto.Remove(reparto); context.SaveChanges(); } }
public void ModificarCategoria(DtoCategoria DtoCat) { using (AliyavaEntities context = new AliyavaEntities()) { Categoria updatecat = context.Categoria.FirstOrDefault(f => f.idCategoria == DtoCat.idCategoria); updatecat.Nombre = DtoCat.Nombre; context.SaveChanges(); } }
public void RemoveCategoria(int id) { using (AliyavaEntities context = new AliyavaEntities()) { Categoria cat = context.Categoria.FirstOrDefault(f => f.idCategoria == id); Producto pro = context.Producto.FirstOrDefault(f => f.idCategoria == cat.idCategoria); if (pro != null) { pro.idCategoria = null; } context.Categoria.Remove(cat); context.SaveChanges(); } }
public void cancelarPed(int idPedido, string NombreUsu) { using (AliyavaEntities context = new AliyavaEntities()) { using (TransactionScope scope = new TransactionScope()) { try { Pedido ped = context.Pedido.Include("Reserva").FirstOrDefault(f => f.Numero == idPedido); //List<DetallePedido> coldet = context.DetallePedido.Include("Pedido, Reserva").Where(w => w.idPedido == idPedido).ToList(); Stock stockByPro = new Stock(); ped.Estado = "Cancelado"; foreach (DetallePedido det in ped.DetallePedido) { foreach (Reserva res in ped.Reserva) { res.Estado = "Inactiva"; stockByPro = context.Stock.FirstOrDefault(w => w.idProducto == det.idProducto); if (stockByPro != null) { stockByPro.Cantidad = stockByPro.Cantidad + det.CantidadPreparar; } } } Historico_de_Cambio_de_estados hisEstado = new Historico_de_Cambio_de_estados(); hisEstado.Accion = "Se canceló su pedido."; hisEstado.Estados = "Cancelado"; hisEstado.numPedido = ped.Numero; hisEstado.Funcionario = NombreUsu; hisEstado.FechaCambio = DateTime.Today; context.Historico_de_Cambio_de_estados.Add(hisEstado); context.SaveChanges(); scope.Complete(); } catch (Exception ex) { scope.Dispose(); } } } }
//----------------------------------------------------------------------------------------------------------- //Empleados public void cambiarEstadoPedido(int idPedido, string NombreUsu) { using (AliyavaEntities context = new AliyavaEntities()) { Pedido pedido = context.Pedido.FirstOrDefault(f => f.Numero == idPedido); pedido.Estado = "En despacho"; Historico_de_Cambio_de_estados hisEstado = new Historico_de_Cambio_de_estados(); hisEstado.Accion = "Se confirmó que la preparación del pedido culminó, pasó a despacho."; hisEstado.Estados = "En despacho"; hisEstado.numPedido = idPedido; hisEstado.Funcionario = NombreUsu; hisEstado.FechaCambio = DateTime.Today; context.Historico_de_Cambio_de_estados.Add(hisEstado); context.SaveChanges(); } }
public bool RegistarProducto(DtoProducto dto) { bool msg; using (AliyavaEntities context = new AliyavaEntities()) { using (TransactionScope scope = new TransactionScope()) { try { int idcat = context.Categoria.Include("Producto").FirstOrDefault(f => f.Nombre == dto.Familia).idCategoria; Categoria cat = context.Categoria.Include("Producto").FirstOrDefault(f => f.idCategoria == idcat); Producto nProducto = new Producto(); nProducto.Categoria = cat; nProducto.Descripcion = dto.Descripcion; nProducto.Familia = dto.Familia; nProducto.PrecioVenta = dto.PrecioVenta; nProducto.codigo_barras = dto.codigoBarras; nProducto.ProDescripcion = dto.ProDescripcion; nProducto.ImagenPro = dto.ImagenPro; context.Producto.Add(nProducto); context.SaveChanges(); scope.Complete(); } catch (Exception ex) { scope.Dispose(); return(msg = false); } return(msg = true); } } }
public void finalizarReparto(int id, string NombreUsu) { using (AliyavaEntities context = new AliyavaEntities()) { using (TransactionScope scope = new TransactionScope()) { try { Reparto reparto = context.Reparto.FirstOrDefault(f => f.idReparto == id); reparto.Estado = "Finalizado"; foreach (Pedido ped in reparto.Pedido) { ped.Estado = "Entregado"; Historico_de_Cambio_de_estados hisEstado = new Historico_de_Cambio_de_estados(); hisEstado.Accion = "Se entregó el pedido con éxito."; hisEstado.Estados = "Entregado"; hisEstado.numPedido = ped.Numero; hisEstado.Funcionario = NombreUsu; hisEstado.FechaCambio = DateTime.Today; context.Historico_de_Cambio_de_estados.Add(hisEstado); } context.SaveChanges(); scope.Complete(); } catch (Exception ex) { scope.Dispose(); } } } }
//public void AltaStock(DtoStock dto) //{ // using (AliyavaEntities context = new AliyavaEntities()) // { // using (TransactionScope scope = new TransactionScope()) // { // try // { // Stock nuevoStock = new Stock(); // nuevoStock.idProducto = dto.idProducto; // nuevoStock.Ubicacion = dto.Ubicacion; // nuevoStock.Motivo = dto.Motivo; // nuevoStock.Cantidad = dto.Cantidad; // context.Stock.Add(nuevoStock); // context.SaveChanges(); // scope.Complete(); // } // catch (Exception ex) // { // scope.Dispose(); // } // } // } //} public void SumarStock(DtoStock dto, string NombreUsu) { double cantidadAlta = (double)dto.Cantidad; double cantResto = 0; Stock stock = new Stock(); int idEmpl; using (AliyavaEntities context = new AliyavaEntities()) { bool existeProducto = context.Stock.Include("Producto").Any(a => a.Producto.codigo_barras == dto.codigoBarras); if (existeProducto) { stock = context.Stock.FirstOrDefault(f => f.Producto.codigo_barras == dto.codigoBarras); if (cantidadAlta > 0) { //stock = MStock.MapToEntity(dto); cantResto = (double)(cantidadAlta + stock.Cantidad); stock.Cantidad = cantResto; HistoricoStock hisStock = new HistoricoStock(); hisStock.Cantidad = (double)stock.Cantidad; hisStock.Ubicacion = stock.Ubicacion; hisStock.Motivo = dto.Motivo; hisStock.CantidadAddOBaja = (double)cantidadAlta; idEmpl = context.Empleado.FirstOrDefault(f => f.NombreUsuario == stock.nombreUsuEmpleado).idEmpleado; hisStock.idEmpleado = idEmpl; context.HistoricoStock.Add(hisStock); context.SaveChanges(); } else if (cantidadAlta < 0) { DeleteStock(dto); } } else { using (TransactionScope scope = new TransactionScope()) { Producto pro = context.Producto.FirstOrDefault(f => f.codigo_barras == dto.codigoBarras); try { if (cantidadAlta > 0) { Stock nuevoStock = new Stock(); nuevoStock.Producto = pro; nuevoStock.Ubicacion = dto.Ubicacion; nuevoStock.Motivo = dto.Motivo; nuevoStock.Cantidad = dto.Cantidad; nuevoStock.nombreUsuEmpleado = NombreUsu; context.Stock.Add(nuevoStock); context.SaveChanges(); HistoricoStock hisStock = new HistoricoStock(); hisStock.Cantidad = (double)nuevoStock.Cantidad; hisStock.Ubicacion = nuevoStock.Ubicacion; hisStock.Motivo = nuevoStock.Motivo; hisStock.CantidadAddOBaja = (double)cantidadAlta; idEmpl = context.Empleado.FirstOrDefault(f => f.NombreUsuario == nuevoStock.nombreUsuEmpleado).idEmpleado; hisStock.idEmpleado = idEmpl; context.HistoricoStock.Add(hisStock); context.SaveChanges(); } else { //Error estas tratando de dar de baja cant de producto que no tiene stock. //El producto no tiene stock. } scope.Complete(); } catch (Exception ex) { scope.Dispose(); } } } } }
//Clientes public bool AgregarPedido(List <DtoProducto> colProductosPedidos, string NombreUsu, string password, bool ChkUrgente) { bool error = false; using (AliyavaEntities context = new AliyavaEntities()) { Cliente cli = context.Cliente.FirstOrDefault(f => f.NombreUsuario == NombreUsu && f.contraseña == password); double precioTotal = 0; bool tieneDirecciones = context.Direcciones.Any(a => a.idCliente == cli.idCliente); if (cli.Direccion != null && cli.Telefono != null && tieneDirecciones == true) { using (TransactionScope scope = new TransactionScope()) { try { Pedido nuevoPedido = new Pedido(); nuevoPedido.Direccion = cli.Direccion; nuevoPedido.Estado = "Pendiente"; nuevoPedido.FechaIngreso = DateTime.Today; //Precio total de productos en el pedido. foreach (DtoProducto item in colProductosPedidos) { precioTotal = (double)(item.PrecioVenta + precioTotal); } //Validación de si es urgente o no. if (ChkUrgente == true) { precioTotal = precioTotal + 10; nuevoPedido.Urgente = "Si"; } else { nuevoPedido.Urgente = "No"; } nuevoPedido.PrecioTotal = precioTotal; nuevoPedido.Usuario = cli.NombreUsuario; nuevoPedido.idCliente = cli.idCliente; //DetallePedidoAdd foreach (DtoProducto dto in colProductosPedidos) { DetallePedido ingresoDetallePedido = new DetallePedido(); ingresoDetallePedido.PrecioU = (double)dto.PrecioVenta; ingresoDetallePedido.idProducto = dto.Codigo; Producto pro = context.Producto.Include("Stock").FirstOrDefault(f => f.codigo_barras == dto.codigoBarras); string ubicacionP = context.Stock.FirstOrDefault(f => f.Producto.codigo_barras == pro.codigo_barras).Ubicacion; ingresoDetallePedido.UbicacionPro = ubicacionP; ingresoDetallePedido.CantidadPreparar = (double)dto.CantidadPreparar; nuevoPedido.DetallePedido.Add(ingresoDetallePedido); } //Dar de alta la reserva. AddReserva(colProductosPedidos, nuevoPedido, context); context.Pedido.Add(nuevoPedido); context.SaveChanges(); scope.Complete(); } catch (Exception ex) { scope.Dispose(); } } } else { //Msj de error porque no ingreso esos datos. error = true; } } return(error); }