Exemple #1
0
        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"
                }
            }
        }
Exemple #2
0
        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();
            }
        }
Exemple #3
0
        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);
                }
            }
        }
Exemple #4
0
        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);
                }
            }
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
                }
            }
        }
Exemple #7
0
        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);
                }
            }
        }
Exemple #8
0
        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();
            }
        }
Exemple #9
0
        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();
            }
        }
Exemple #10
0
        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();
            }
        }
Exemple #11
0
        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();
                    }
                }
            }
        }
Exemple #12
0
        //-----------------------------------------------------------------------------------------------------------



        //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();
            }
        }
Exemple #13
0
        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);
                }
            }
        }
Exemple #14
0
        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();
                    }
                }
            }
        }
Exemple #15
0
        //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();
                        }
                    }
                }
            }
        }
Exemple #16
0
        //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);
        }