public Clases.Ingrediente ConvertirDeDatosALogica(AccesoADatos.Ingrediente ingredienteDb) { Clases.Ingrediente ingredienteConvertido = new Clases.Ingrediente() { Id = ingredienteDb.Id, UnidadDeMedida = (UnidadDeMedida)ingredienteDb.UnidadDeMedida, CantidadEnInventario = ingredienteDb.CantidadEnInventario, Nombre = ingredienteDb.Nombre, FechaDeCreacion = ingredienteDb.FechaDeCreacion, FechaDeModificacion = ingredienteDb.FechaDeModiciacion, Codigo = ingredienteDb.Codigo, CodigoDeBarras = ingredienteDb.CodigoDeBarras, Creador = ingredienteDb.NombreCreador, Activo = ingredienteDb.Activo, Costo = ingredienteDb.Costo }; List <Clases.Componente> componentes = new List <Clases.Componente>(); foreach (RelacionIngrediente componente in ingredienteDb.RelacionIngredientesHijo) { componentes.Add(new Clases.Componente { Cantidad = componente.Cantidad, Compuesto = ingredienteConvertido, Ingrediente = ConvertirDeDatosALogica(componente.IngredienteHijo) }); } ingredienteConvertido.Componentes = componentes; return(ingredienteConvertido); }
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(); } } }
public AccesoADatos.Ingrediente ConvertirDeLogicaADbParaGuardar(Clases.Ingrediente ingrediente) { AccesoADatos.Ingrediente ingredienteConvertido = new AccesoADatos.Ingrediente() { Id = ingrediente.Id, UnidadDeMedida = (short)ingrediente.UnidadDeMedida, CantidadEnInventario = ingrediente.CantidadEnInventario, Nombre = ingrediente.Nombre, FechaDeCreacion = ingrediente.FechaDeCreacion, FechaDeModiciacion = ingrediente.FechaDeModificacion, Codigo = ingrediente.Codigo, CodigoDeBarras = ingrediente.CodigoDeBarras, NombreCreador = ingrediente.Creador, Activo = ingrediente.Activo, Costo = ingrediente.Costo, RelacionIngredientesHijo = new List <RelacionIngrediente>() }; return(ingredienteConvertido); }
public AccesoADatos.Ingrediente ConvertirDeLogicaADb(Clases.Ingrediente ingrediente) { AccesoADatos.Ingrediente ingredienteConvertido; if (ingrediente.Id > 0) { //no es ingrediente nuevo using (ModeloDeDatosContainer context = new ModeloDeDatosContainer()) { ingredienteConvertido = context.Ingredientes.Find(ingrediente.Id); } } else { ingredienteConvertido = new AccesoADatos.Ingrediente() { Id = ingrediente.Id, UnidadDeMedida = (short)ingrediente.UnidadDeMedida, CantidadEnInventario = ingrediente.CantidadEnInventario, Nombre = ingrediente.Nombre, FechaDeCreacion = ingrediente.FechaDeCreacion, FechaDeModiciacion = ingrediente.FechaDeModificacion, Codigo = ingrediente.Codigo, CodigoDeBarras = ingrediente.CodigoDeBarras, NombreCreador = ingrediente.Creador, Activo = ingrediente.Activo, Costo = ingrediente.Costo }; } ComponenteDAO componenteDAO = new ComponenteDAO(); if (ingrediente.Componentes.Count > 0) { ingredienteConvertido.RelacionIngredientesHijo = componenteDAO.ConvertirlistaDeLogicaADatos(ingrediente.Componentes); } return(ingredienteConvertido); }