コード例 #1
0
        public ArbolObjetivoDTO ConsultarArbolObjetivosFinal(int IdProyecto)
        {
            var arbol = (from i in entity.ArbolObjetivos
                         where i.IdProyecto == IdProyecto
                         select i).FirstOrDefault();


            List <Medios> ListaoMedios = new List <Medios>();

            var medios = (from i in entity.MedioDirecto
                          where i.IdArbolObj == arbol.IdArbolObj
                          select i).ToList();

            foreach (var item in medios)
            {
                Medios oMedios        = new Medios();
                var    mediosDirectos = (from i in entity.MediosIndirectos
                                         where i.IdMedio == item.IdMedio
                                         select i.MedioIndirecto).ToList();


                oMedios.Medio            = item.MedioDirecto1;
                oMedios.MediosIndirectos = mediosDirectos;
                ListaoMedios.Add(oMedios);
            }



            var fines = (from i in entity.FinesDirectos
                         where i.IdArbolObj == arbol.IdArbolObj
                         select i).ToList();

            List <Fines> ListaoFines = new List <Fines>();

            foreach (var item in fines)
            {
                Fines oFin            = new Fines();
                var   FinesIndirectos = (from i in entity.FinesIndirectos
                                         where i.IdFIn == item.IdFin
                                         select i.FinIndirecto).ToList();

                oFin.fin             = item.FinDirecto;
                oFin.FinesIndirectos = FinesIndirectos;
                ListaoFines.Add(oFin);
            }

            ArbolObjetivoDTO oArbolDTO = new ArbolObjetivoDTO();

            oArbolDTO.IdProyecto      = IdProyecto;
            oArbolDTO.ObjetivoCentral = arbol.ObjetivoCentral;
            oArbolDTO.Fines           = ListaoFines;
            oArbolDTO.Medios          = ListaoMedios;

            return(oArbolDTO);
        }
コード例 #2
0
        public IHttpActionResult GuardarDatosArbol(ArbolObjetivoDTO oArbolDTO)
        {
            try
            {
                ArbolObjetivoBl oArbol = new ArbolObjetivoBl();
                oArbol.GuardarDatosArbolObjetivos(oArbolDTO);

                return(Ok(new { success = true }));
            }
            catch (Exception e)
            {
                return(Ok(new { success = false, e.Message }));
            }
        }
コード例 #3
0
        public void GuardarDatosArbolObjetivos(ArbolObjetivoDTO oArbolDTO)
        {
            var ArbolProyecto1 = (from i in entity.ArbolObjetivos
                                  where i.IdProyecto == oArbolDTO.IdProyecto
                                  select i).FirstOrDefault();


            if (ArbolProyecto1 != null)
            {
                var medios = (from i in entity.MedioDirecto
                              where i.IdArbolObj == ArbolProyecto1.IdArbolObj
                              select i).ToList();

                foreach (var item in medios)
                {
                    var mediosIndirectos = (from i in entity.MediosIndirectos
                                            where i.IdMedio == item.IdMedio
                                            select i).ToList();

                    entity.MediosIndirectos.RemoveRange(mediosIndirectos);
                    entity.SaveChanges();
                    entity.MedioDirecto.Remove(item);
                    entity.SaveChanges();
                }

                var fines = (from i in entity.FinesDirectos
                             where i.IdArbolObj == ArbolProyecto1.IdArbolObj
                             select i).ToList();

                foreach (var item in fines)
                {
                    var finesIndirectos = (from i in entity.FinesIndirectos
                                           where i.IdFIn == item.IdFin
                                           select i).ToList();

                    entity.FinesIndirectos.RemoveRange(finesIndirectos);
                    entity.SaveChanges();
                    entity.FinesDirectos.Remove(item);
                    entity.SaveChanges();
                }

                entity.ArbolObjetivos.Remove(ArbolProyecto1);
                entity.SaveChanges();
            }

            string         base64 = oArbolDTO.imagen.Split(',')[1];
            ArbolObjetivos oArbol = new ArbolObjetivos();

            oArbol.IdProyecto      = oArbolDTO.IdProyecto;
            oArbol.ObjetivoCentral = oArbolDTO.ObjetivoCentral;
            var imageBytes = Convert.FromBase64String(base64);

            oArbol.Imagen = imageBytes;
            entity.ArbolObjetivos.Add(oArbol);
            entity.SaveChanges();


            var ArbolProyecto = (from i in entity.ArbolObjetivos
                                 where i.IdProyecto == oArbolDTO.IdProyecto
                                 select i).FirstOrDefault();


            foreach (var item in oArbolDTO.Medios)
            {
                if (item.Medio != "")
                {
                    MedioDirecto oMedio = new MedioDirecto();
                    oMedio.IdArbolObj    = ArbolProyecto.IdArbolObj;
                    oMedio.MedioDirecto1 = item.Medio;
                    entity.MedioDirecto.Add(oMedio);
                    entity.SaveChanges();

                    var medio = (from i in entity.MedioDirecto
                                 where i.IdArbolObj == ArbolProyecto.IdArbolObj
                                 orderby i.IdMedio descending
                                 select i).FirstOrDefault();

                    foreach (var item1 in item.MediosIndirectos)
                    {
                        MediosIndirectos oMedioIndirecto = new MediosIndirectos();
                        oMedioIndirecto.IdMedio        = medio.IdMedio;
                        oMedioIndirecto.MedioIndirecto = item1;
                        entity.MediosIndirectos.Add(oMedioIndirecto);
                        entity.SaveChanges();
                    }
                }
            }

            foreach (var item in oArbolDTO.Fines)
            {
                if (item.fin != "")
                {
                    FinesDirectos oFines = new FinesDirectos();
                    oFines.IdArbolObj = ArbolProyecto.IdArbolObj;
                    oFines.FinDirecto = item.fin;
                    entity.FinesDirectos.Add(oFines);
                    entity.SaveChanges();

                    var fines = (from i in entity.FinesDirectos
                                 where i.IdArbolObj == ArbolProyecto.IdArbolObj
                                 orderby i.IdFin descending
                                 select i).FirstOrDefault();

                    foreach (var item1 in item.FinesIndirectos)
                    {
                        FinesIndirectos oFinesIndirectos = new FinesIndirectos();
                        oFinesIndirectos.IdFIn        = fines.IdFin;
                        oFinesIndirectos.FinIndirecto = item1;
                        entity.FinesIndirectos.Add(oFinesIndirectos);
                        entity.SaveChanges();
                    }
                }
            }

            var proyecto = (from i in entity.Proyecto
                            where i.IdProyecto == oArbolDTO.IdProyecto
                            select i).FirstOrDefault();

            if (proyecto.Etapa < 4)
            {
                proyecto.Etapa = 4;
                entity.SaveChanges();
            }
        }