Ejemplo n.º 1
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();
            }
        }
Ejemplo n.º 2
0
        public Clases.Platillo CargarPlatilloPorId(int IdPlatillo)
        {
            Platillo platilloDb = new Platillo();

            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                platilloDb = context.Platillos.Find(IdPlatillo);
            }
            Clases.Platillo platilloResultado = ConvertirDatosALogica(platilloDb);

            return(platilloResultado);
        }
Ejemplo n.º 3
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();
            }
        }
Ejemplo n.º 4
0
        public Clases.Platillo ConvertirDatosALogica(AccesoADatos.Platillo PlatilloDb)
        {
            Clases.Platillo alimentoConvertido = new Clases.Platillo()
            {
                Id                  = PlatilloDb.Id,
                Nombre              = PlatilloDb.Nombre,
                FechaDeCreacion     = PlatilloDb.FechaDeCreacion,
                FechaDeModificacion = PlatilloDb.FechaDeModificacion,
                Activo              = PlatilloDb.Activo,
                Precio              = PlatilloDb.Precio,
                Codigo              = PlatilloDb.Codigo,
                Notas               = PlatilloDb.Notas,
                Descripcion         = PlatilloDb.Descripcion,
                Imagen              = PlatilloDb.Imagen
            };

            ProporcionDAO proporcionDAO = new ProporcionDAO();

            alimentoConvertido.Proporciones = proporcionDAO.CargarProporcionesPorIdPlatillo(PlatilloDb.Id);

            return(alimentoConvertido);
        }
Ejemplo n.º 5
0
        public AccesoADatos.Platillo ConvertirPlatilloDeLogicaAPlatilloDeAccesoADatosParaGuardado(Clases.Platillo Platillo)
        {
            AccesoADatos.Platillo platilloDb = new AccesoADatos.Platillo()
            {
                Id                  = Platillo.Id,
                Nombre              = Platillo.Nombre,
                Precio              = Platillo.Precio,
                FechaDeCreacion     = Platillo.FechaDeCreacion,
                FechaDeModificacion = Platillo.FechaDeModificacion,
                Activo              = Platillo.Activo,
                Codigo              = Platillo.Codigo,
                Notas               = Platillo.Notas,
                Descripcion         = Platillo.Descripcion,
                Imagen              = Platillo.Imagen
            };
            ProporcionDAO proporcionDAO = new ProporcionDAO();

            platilloDb.PlatilloIngredientes = (proporcionDAO.ConvertirListaLogicaAListaDeDB(Platillo.Proporciones));

            return(platilloDb);
        }