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(); } }
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); }
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(); } }
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); }
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); }