Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
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();
                }
            }
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }