Esempio n. 1
0
        public void CambiarEstadoPedidoCancelar(Clases.Pedido pedido)
        {
            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                if (pedido.Estado != EstadoPedido.EnEspera || pedido.Estado != EstadoPedido.Completado || pedido.Estado != EstadoPedido.Realizado || pedido.Estado != EstadoPedido.Entregado)
                {
                    AccesoADatos.Pedido pedidoDb = context.Pedidos.Find(pedido.Id);
                    if (pedidoDb != null)
                    {
                        pedidoDb.Estado = 6;
                        context.SaveChanges();
                    }
                    else
                    {
                        throw new ArgumentException("Id no encontrada PedidoDAO.DarDeBaja");
                    }
                }
                else
                {
                    throw new ArgumentException("El pedido ya se encuentra en un estado imposible de cancelar");
                }
            }

            pedido.AumentarIngredientes();
        }
Esempio n. 2
0
        public void Actualizar(Clases.Cliente cliente)
        {
            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                Cliente clienteDb = context.Clientes.Find(cliente.Id);
                clienteDb.FechaDeModicacion = DateTime.Now;
                clienteDb.Nombre            = cliente.Nombre;
                clienteDb.Telefono          = cliente.Telefono;
                clienteDb.Comentarios       = cliente.Comentario;

                List <Direcciones> direcciones = new List <Direcciones>();
                foreach (string direccion in cliente.Direcciones)
                {
                    Direcciones direccionTabla = new Direcciones
                    {
                        Direccion = direccion
                    };
                    direcciones.Add(direccionTabla);
                }
                context.Direcciones.RemoveRange(clienteDb.Direcciones);
                clienteDb.Direcciones.Clear();
                clienteDb.Direcciones = direcciones;
                context.SaveChanges();
            }
        }
Esempio n. 3
0
        public void GuardarIngrediente(Clases.Ingrediente ingrediente)
        {
            ingrediente.FechaDeCreacion     = DateTime.Now;
            ingrediente.FechaDeModificacion = DateTime.Now;
            ingrediente.Activo = true;

            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                AccesoADatos.Ingrediente ingredienteDb = ConvertirDeLogicaADbParaGuardar(ingrediente);

                foreach (Clases.Componente componente in ingrediente.Componentes)
                {
                    RelacionIngrediente componenteDB = new RelacionIngrediente();

                    componenteDB.Cantidad         = componente.Cantidad;
                    componenteDB.IngredienteHijo  = context.Ingredientes.Find(componente.Ingrediente.Id);
                    componenteDB.IngredientePadre = null;
                    ingredienteDb.RelacionIngredientesHijo.Add(componenteDB);
                }

                context.Ingredientes.Add(ingredienteDb);

                if (!ValidarExistenciaDeIngrediente(ingredienteDb))
                {
                    context.SaveChanges();
                }
            }
        }
Esempio n. 4
0
 public void Guardar(Clases.Mesa mesa)
 {
     AccesoADatos.Mesa mesaAGuardar = ConvertirMesaLogicaADatos(mesa);
     using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
     {
         context.Mesas.Add(mesaAGuardar);
         context.SaveChanges();
     }
 }
Esempio n. 5
0
 public void Depuracion_Eliminar(string nombre)
 {
     using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
     {
         Platillo platillo = context.Platillos.FirstOrDefault(p => p.Nombre == nombre);
         context.Platillos.Remove(platillo);
         context.SaveChanges();
     }
 }
Esempio n. 6
0
        public void EditarPlatillo(Clases.Platillo Platillo)
        {
            Platillo.FechaDeModificacion = DateTime.Now;

            Platillo platilloDb;

            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                platilloDb = context.Platillos.Include(x => x.PlatilloIngredientes.Select(i => i.Ingrediente)).FirstOrDefault(p => p.Id == Platillo.Id);

                platilloDb.Nombre = Platillo.Nombre;
                platilloDb.Precio = Platillo.Precio;
                platilloDb.FechaDeModificacion = Platillo.FechaDeModificacion;
                platilloDb.Activo      = Platillo.Activo;
                platilloDb.Codigo      = Platillo.Codigo;
                platilloDb.Notas       = Platillo.Notas;
                platilloDb.Descripcion = Platillo.Descripcion;
                platilloDb.Imagen      = Platillo.Imagen;

                foreach (Clases.Proporcion proporcion in Platillo.Proporciones)
                {
                    if (proporcion.Id == 0)
                    {
                        PlatilloIngrediente platilloIngrediente = new PlatilloIngrediente
                        {
                            Cantidad    = proporcion.Cantidad,
                            Platillo    = platilloDb,
                            Ingrediente = context.Ingredientes.Find(proporcion.Ingrediente.Id)
                        };

                        context.PlatilloIngrediente.Add(platilloIngrediente);
                    }
                    else
                    {
                        foreach (PlatilloIngrediente proporcionDB in platilloDb.PlatilloIngredientes)
                        {
                            if (proporcion.Id == proporcionDB.Id)
                            {
                                proporcionDB.Cantidad = proporcion.Cantidad;
                                break;
                            }
                        }
                    }
                }

                List <PlatilloIngrediente> proporcionesAEliminar = platilloDb.PlatilloIngredientes.Where(p => !Platillo.Proporciones.Any(p2 => p2.Id == p.Id)).ToList();

                foreach (PlatilloIngrediente proporcion in proporcionesAEliminar)
                {
                    context.PlatilloIngrediente.Remove(proporcion);
                }

                context.SaveChanges();
            }
        }
Esempio n. 7
0
 public void ActualizarCuenta(Clases.Cuenta cuenta)
 {
     using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
     {
         Cuenta cuentaDb = context.Cuentas.Find(cuenta.Id);
         cuentaDb.Estado      = (short)cuenta.Estado;
         cuentaDb.PrecioTotal = cuenta.PrecioTotal;
         //Actualizar pedidos
         context.SaveChanges();
     }
 }
Esempio n. 8
0
        public void GuardarPlatillo(Clases.Platillo Platillo)
        {
            Platillo.Activo              = true;
            Platillo.FechaDeCreacion     = DateTime.Now;
            Platillo.FechaDeModificacion = DateTime.Now;
            AccesoADatos.Platillo platilloAGuardar = ConvertirPlatilloDeLogicaAPlatilloDeAccesoADatosParaGuardado(Platillo);

            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                foreach (PlatilloIngrediente proporcion in platilloAGuardar.PlatilloIngredientes)
                {
                    proporcion.Platillo    = platilloAGuardar;
                    proporcion.Ingrediente = context.Ingredientes.Find(proporcion.Ingrediente.Id);

                    context.SaveChanges();
                }

                context.Platillos.Add(platilloAGuardar);
                context.SaveChanges();
            }
        }
Esempio n. 9
0
 public void GuardarEmpleado(Clases.Empleado empleado)
 {
     empleado.Activo            = true;
     empleado.FechaDeCreacion   = DateTime.Now;
     empleado.FechaDeModicacion = DateTime.Now;
     AccesoADatos.Empleado empleadoguardado = ConvertirDeLogicaADatos(empleado);
     using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
     {
         context.Empleados.Add(empleadoguardado);
         context.SaveChanges();
     }
 }
Esempio n. 10
0
 public void CambiarEstadoPorID(int idMesa, EstadoMesa nuevoEstado)
 {
     using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
     {
         AccesoADatos.Mesa mesa = context.Mesas.Find(idMesa);
         if (mesa != null)
         {
             mesa.Estado = (short)nuevoEstado;
         }
         context.SaveChanges();
     }
 }
Esempio n. 11
0
        public void Guardar(Clases.Cliente cliente)
        {
            Cliente clienteDb = ConvertirClienteLogicaADatos(cliente);

            clienteDb.Activo            = true;
            clienteDb.FechaDeCreacion   = DateTime.Now;
            clienteDb.FechaDeModicacion = DateTime.Now;
            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                context.Clientes.Add(clienteDb);
                context.SaveChanges();
            }
        }
Esempio n. 12
0
        public void Guardar(Clases.Iva iva)
        {
            Iva ivaDb = new Iva()
            {
                FechaDeInicio   = iva.FechaDeInicio,
                FechaDeCreacion = iva.FechaDeCreacion,
                Activo          = iva.Activo,
                Creador         = iva.Creador,
                Valor           = iva.Valor
            };


            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                if (ivaDb.Activo)
                {
                    context.Ivas.ToList().ForEach(i => i.Activo = false);
                    context.SaveChanges();
                }
                context.Ivas.Add(ivaDb);
                context.SaveChanges();
            }
        }
Esempio n. 13
0
 public void DarDeBaja(Clases.Cliente cliente)
 {
     using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
     {
         Cliente clienteDb = context.Clientes.Find(cliente.Id);
         if (clienteDb != null)
         {
             clienteDb.Activo = false;
             context.SaveChanges();
         }
         else
         {
             throw new ArgumentException("Id no encontrada ClienteDAO.DarDeBaja");
         }
     }
 }
Esempio n. 14
0
 public void DarDeBajaIngrediente(Clases.Ingrediente ingrediente)
 {
     using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
     {
         Ingrediente ingredienteDb = context.Ingredientes.Find(ingrediente.Id);
         if (ingredienteDb != null)
         {
             ingredienteDb.Activo = false;
             context.SaveChanges();
         }
         else
         {
             throw new ArgumentException("La id del ingrediente no encontrada");
         }
     }
 }
Esempio n. 15
0
 public void DesactivarEmpleado(Clases.Empleado empleado)
 {
     using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
     {
         AccesoADatos.Empleado empleadodesactivado = context.Empleados.Find(empleado.Id);
         if (empleadodesactivado != null)
         {
             empleadodesactivado.Activo = false;
             context.SaveChanges();
         }
         else
         {
             throw new ArgumentException("La id del Empleado no encontrada");
         }
     }
 }
Esempio n. 16
0
        public void ActualizarIngrediente(Clases.Ingrediente ingrediente)
        {
            Ingrediente ingredienteDb;

            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                ingredienteDb = context.Ingredientes.Find(ingrediente.Id);
                ingredienteDb.FechaDeModiciacion   = DateTime.Now;
                ingredienteDb.Nombre               = ingrediente.Nombre;
                ingredienteDb.CantidadEnInventario = ingrediente.CantidadEnInventario;
                ingredienteDb.UnidadDeMedida       = (short)ingrediente.UnidadDeMedida;
                ingredienteDb.Codigo               = ingrediente.Codigo;
                ingredienteDb.CodigoDeBarras       = ingrediente.CodigoDeBarras;
                ingredienteDb.Costo  = ingrediente.Costo;
                ingredienteDb.Activo = ingrediente.Activo;
                context.SaveChanges();
            }
        }
Esempio n. 17
0
        public void ActualizarProducto(Clases.Producto producto)
        {
            Producto productoDb;

            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                productoDb = context.Productos.Find(producto.Id);
                productoDb.FechaDeModificacion = DateTime.Now;
                productoDb.Nombre = producto.Nombre;
                productoDb.Codigo = producto.Codigo;
                productoDb.CantidadEnInventario = producto.CantidadEnInventario;
                productoDb.CodigoDeBarras       = producto.CodigoDeBarras;
                productoDb.Costo  = producto.Costo;
                productoDb.Activo = producto.Activo;
                productoDb.Precio = producto.Precio;
                productoDb.Imagen = producto.Imagen;
                context.SaveChanges();
            }
        }
Esempio n. 18
0
        public void Guardar(Clases.Pedido pedido)
        {
            if (ValidarCuentaParaGuardado(pedido) && ValidarCantidadDeCantidadAlimentos(pedido.CantidadAlimentos))
            {
                pedido.FechaDeCreacion = DateTime.Now;
                IvaDAO ivaDAO = new IvaDAO();
                pedido.Iva         = ivaDAO.CargarIvaActual().Valor;
                pedido.PrecioTotal = CalcularPrecioTotal(pedido);
            }
            else
            {
                throw new ArgumentException("Pedido no tiene contenido");
            }

            AccesoADatos.Pedido pedidoAGuardar = ConvertirPedidoLogicaADatos(pedido);
            pedido.DescontarIngredientes();
            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                foreach (CantidadAlimento cantidadAlimento in pedido.CantidadAlimentos)
                {
                    if (cantidadAlimento is CantidadProducto cantidadProducto)
                    {
                        ProductoPedido productoPedido = new ProductoPedido();
                        productoPedido.Cantidad  = cantidadProducto.Cantidad;
                        productoPedido.Productos = context.Productos.Find(cantidadProducto.Alimento.Id);
                        pedidoAGuardar.ProductoPedido.Add(productoPedido);
                    }
                    else if (cantidadAlimento is CantidadPlatillo cantidadPlatillo)
                    {
                        PlatilloPedido platilloPedido = new PlatilloPedido();
                        platilloPedido.Cantidad = cantidadPlatillo.Cantidad;
                        platilloPedido.Platillo = context.Platillos.Find(cantidadPlatillo.Alimento.Id);
                        pedidoAGuardar.PlatilloPedidos.Add(platilloPedido);
                    }
                }

                pedidoAGuardar.Cuenta = context.Cuentas.Find(pedido.Cuenta.Id);
                context.Pedidos.Add(pedidoAGuardar);
                context.SaveChanges();
            }
        }
Esempio n. 19
0
        public void Depuracion_Eliminar(double valor)
        {
            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                Iva iva = context.Ivas.FirstOrDefault(i => i.Valor == valor);
                context.Ivas.Remove(iva);

                Iva ultimoIva = context.Ivas.First();

                context.Ivas.ToList().ForEach((i) =>
                {
                    if (ultimoIva.FechaDeInicio > i.FechaDeInicio)
                    {
                        ultimoIva = i;
                    }
                });

                ultimoIva.Activo = true;

                context.SaveChanges();
            }
        }
Esempio n. 20
0
        public void Guardar(Clases.Producto producto)
        {
            Producto productoDB = new Producto
            {
                Activo = true,
                CantidadEnInventario = producto.CantidadEnInventario,
                Codigo              = producto.Codigo,
                Precio              = producto.Precio,
                CodigoDeBarras      = producto.CodigoDeBarras,
                Costo               = producto.Costo,
                FechaDeCreacion     = DateTime.Now,
                Nombre              = producto.Nombre,
                NombreCreador       = producto.Creador,
                FechaDeModificacion = DateTime.Now,
                Imagen              = producto.Imagen
            };

            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                context.Productos.Add(productoDB);
                context.SaveChanges();
            }
        }
Esempio n. 21
0
        public void EditarEmpleado(Clases.Empleado empleado)
        {
            empleado.FechaDeModicacion = DateTime.Now;
            empleado.Activo            = true;

            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                AccesoADatos.Empleado empleadoDb = ConvertirDeLogicaADatos(empleado);
                if (empleadoDb != null)
                {
                    empleadoDb                   = context.Empleados.Find(empleado.Id);
                    empleadoDb.Nombre            = empleado.Nombre;
                    empleadoDb.NombreDeUsuario   = empleado.NombreDeUsuario;
                    empleadoDb.Contraseña        = empleado.Contraseña;
                    empleadoDb.CorreoElectronico = empleado.CorreoElectronico;
                    empleadoDb.TipoDeEmpleado    = (short)empleado.TipoDeEmpleado;

                    context.SaveChanges();
                }
                else
                {
                }
            }
        }
Esempio n. 22
0
        public void CrearCuenta(Clases.Cuenta cuenta)
        {
            var cuentaDb = new AccesoADatos.Cuenta()
            {
                Estado = (short)EstadoCuenta.Abierta
            };

            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                if (cuenta.Id >= 0)
                {
                    cuentaDb.Mesa = context.Mesas.Find(cuenta.Mesa.NumeroDeMesa);
                }
                cuentaDb.Mesa.Estado = (short)EstadoMesa.Ocupada;
                if (cuenta.Mesa != null)
                {
                    cuentaDb.Mesa        = context.Mesas.Find(cuenta.Mesa.NumeroDeMesa);
                    cuentaDb.Mesa.Estado = (short)EstadoMesa.Ocupada;
                }
                cuentaDb.Empleado = context.Empleados.Find(cuenta.Empleado.Id);
                context.Cuentas.Add(cuentaDb);
                context.SaveChanges();
            }
        }
Esempio n. 23
0
        public void CrearCuentaConPedidos(Clases.Cuenta cuenta)
        {
            var cuentaDb = new AccesoADatos.Cuenta()
            {
                Estado = (short)EstadoCuenta.Abierta
            };

            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                cuentaDb.Empleado = context.Empleados.Find(cuenta.Empleado.Id);
                foreach (Clases.Cliente cliente in cuenta.Clientes)
                {
                    if (cliente.Id > 0)
                    {
                        cuentaDb.Clientes.Add(context.Clientes.Find(cliente.Id));
                    }
                    else
                    {
                        cuentaDb.Clientes.Add(new Cliente
                        {
                            Telefono          = cliente.Telefono,
                            Nombre            = cliente.Nombre,
                            FechaDeCreacion   = DateTime.Now,
                            FechaDeModicacion = DateTime.Now,
                            NombreCreador     = cliente.NombreDelCreador,
                            Comentarios       = cliente.Comentario,
                            Activo            = true
                        });
                    }
                }
                foreach (Clases.Pedido pedido in cuenta.Pedidos)
                {
                    PedidoDAO pedidoDAO = new PedidoDAO();
                    if (pedidoDAO.ValidarCuentaParaGuardado(pedido) && pedidoDAO.ValidarCantidadDeCantidadAlimentos(pedido.CantidadAlimentos))
                    {
                        pedido.FechaDeCreacion = DateTime.Now;
                        IvaDAO ivaDAO = new IvaDAO();
                        pedido.Iva = ivaDAO.CargarIvaActual().Valor;
                        pedido.CalcularPrecioTotal();
                        pedido.Estado = EstadoPedido.EnEspera;
                    }
                    else
                    {
                        throw new ArgumentException("Pedido no tiene contenido o no ");
                    }

                    AccesoADatos.Pedido pedidoAGuardar = pedidoDAO.ConvertirPedidoLogicaADatos(pedido);
                    foreach (CantidadAlimento cantidadAlimento in pedido.CantidadAlimentos)
                    {
                        if (cantidadAlimento is CantidadProducto cantidadProducto)
                        {
                            ProductoPedido productoPedido = new ProductoPedido();
                            productoPedido.Cantidad  = cantidadProducto.Cantidad;
                            productoPedido.Productos = context.Productos.Find(cantidadProducto.Alimento.Id);
                            pedidoAGuardar.ProductoPedido.Add(productoPedido);
                        }
                        else if (cantidadAlimento is CantidadPlatillo cantidadPlatillo)
                        {
                            PlatilloPedido platilloPedido = new PlatilloPedido();
                            platilloPedido.Cantidad = cantidadPlatillo.Cantidad;
                            platilloPedido.Platillo = context.Platillos.Find(cantidadPlatillo.Alimento.Id);
                            pedidoAGuardar.PlatilloPedidos.Add(platilloPedido);
                        }
                    }

                    pedidoAGuardar.Cuenta = context.Cuentas.Find(pedido.Cuenta.Id);
                    cuentaDb.Pedidos.Add(pedidoAGuardar);
                }
                if (cuenta.Mesa != null)
                {
                    cuentaDb.Mesa        = context.Mesas.Find(cuenta.Mesa.NumeroDeMesa);
                    cuentaDb.Mesa.Estado = (short)EstadoMesa.Ocupada;
                }
                cuentaDb.Empleado = context.Empleados.Find(cuenta.Empleado.Id);
                context.Cuentas.Add(cuentaDb);
                context.SaveChanges();
            }
        }