public async Task <PlanNegocioEvolutivo> getbyidPropuesta(int id)
        {
            try
            {
                var entities = await dbGI.DbSetPlanNegocioEvolutivo.AsNoTracking()
                               .Include(x => x.PlanNegocioEvolArchivos)
                               .Include("PlanNegocioEvolArchivos.Adjunto")
                               .Include(x => x.PlanNegocioEvolGerencias)
                               .Include(x => x.PlanNegocioEvolAutores)
                               .Include(x => x.Propuesta)
                               .Include(x => x.Proyecto)
                               .Include(x => x.TipoAccesoGI)
                               .FirstOrDefaultAsync(e => e.PropuestaClave == id);

                if (entities != null && entities.PlanNegocioEvolGerencias != null)
                {
                    UORepository uo       = new UORepository();
                    var          unidades = await uo.GetAllByCollectionCR(entities.PlanNegocioEvolGerencias.Select(x => x.ClaveUnidad).ToList());

                    foreach (var u in entities.PlanNegocioEvolGerencias)
                    {
                        var unidad = unidades.Find(x => x.ClaveUnidad.Equals(u.ClaveUnidad));
                        if (unidad != null)
                        {
                            u.NombreUnidad = unidad.NombreUnidad;
                        }
                    }
                }
                return(entities);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
        public async Task <IHttpActionResult> GetAllByCollectionCR(List <String> unidadesId)
        {
            try
            {
                log.Info(new MDCSet(this.ControllerContext.RouteData));
                var campo = await _repository.GetAllByCollectionCR(unidadesId);

                return(Ok(campo));
            }
            catch (Exception e)
            {
                log.Error(new MDCSet(this.ControllerContext.RouteData), e);

                return(InternalServerError(e));
            }
        }
Beispiel #3
0
        public async Task <TecnologiaLicenciada> GetById(int id)
        {
            try
            {
                var entities = await dbGI.DbSetTecnologiaLicenciada.AsNoTracking()
                               .Include(x => x.Aliado)
                               .Include(x => x.EstadoLicenciamiento)
                               .Include(x => x.ProductoGI)
                               .Include(x => x.Proyecto)
                               .Include(x => x.Gerencias)
                               .Include(x => x.Convenio)
                               .Include("TecnologiaLicenciadaPIDA.DerechosAutor")
                               .Include("TecnologiaLicenciadaPIPIndustrial.PropiedadIndustrial.TipoPropiedadIndustrial")
                               .Include("TecnologiaLicenciadaPIDA.DerechosAutor.Rama")

                               .Include("Pagos.TipoPagos")

                               .Include(x => x.Lecciones)

                               .FirstOrDefaultAsync(e => e.TecnologiaLicenciadaId == id);

                if (entities != null)
                {
                    UORepository uniDB      = new UORepository();
                    var          unidadesId = entities.Gerencias.Select(x => x.ClaveUnidad).ToList();
                    var          unidades   = await uniDB.GetAllByCollectionCR(unidadesId);

                    foreach (var uG in entities.Gerencias)
                    {
                        var unidad = unidades.Find(x => x.ClaveUnidad.Equals(uG.ClaveUnidad));
                        if (unidad != null)
                        {
                            uG.NombreUnidad = unidad.NombreUnidad;
                        }
                    }
                }


                return(entities);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
        public async Task <ActividadAdicional> GetActByIdFK(int id)
        {
            try
            {
                var entities = await _db.ActividadAdicional.AsNoTracking()
                               .Include(g => g.AreaActividadAdicional)
                               .Include("Aliado.Empresa")
                               .Include(g => g.PersonalActividadAdicional)
                               .FirstOrDefaultAsync(e => e.ActividadAdicionalId == id);

                PersonasRepository per = new PersonasRepository(_dbGEN);
                foreach (PersonalActividadAdicional ppc in entities.PersonalActividadAdicional)
                {
                    var personaId = ppc.ClavePersona;
                    ppc.Personas = await per.GetById(personaId);
                }

                //Obtiene la lista de areas en el convenio
                var areas = new List <AreaActividadAdicional>();
                areas = await(from auo in _db.AreaActividadAdicional
                              where auo.ActividadAdicionalId == id
                              select auo)
                        .AsNoTracking()
                        .ToListAsync();

                //Obtiene la lista de uos en las areasConvenio
                List <String> uos1 = new List <string>(areas.Select(x => x.ClaveUnidad.Trim()));
                UORepository  uo   = new UORepository(_dbGEN);
                List <UnidadOrganizacional> uos = new List <UnidadOrganizacional>();
                uos = await uo.GetAllByCollectionCR(uos1);

                foreach (AreaActividadAdicional ar in entities.AreaActividadAdicional)
                {
                    var unidadId = ar.ClaveUnidad;
                    ar.UnidadOrganizacional = uos.Find(x => x.ClaveUnidad == unidadId);
                }

                return(entities);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
        public async Task <Convenio> GetConvByIdFK(int id)
        {
            try
            {
                var entities = await _db.Convenio.AsNoTracking()
                               .Include("AdjuntoPorConvenio.Adjunto")
                               .Include(g => g.AreaConvenio)
                               .Include(g => g.TipoConvenio)
                               .Include(g => g.AmbitoConv)
                               .Include("Aliado.Empresa")
                               .FirstOrDefaultAsync(e => e.ConvenioId == id);

                //Obtiene la lista de areas en el convenio
                var areas = new List <AreaConvenio>();
                areas = await(from auo in _db.AreaConvenio
                              where auo.ConvenioId == id
                              select auo)
                        .AsNoTracking()
                        .ToListAsync();

                //Obtiene la lista de uos en las areasConvenio
                List <String> uos1 = new List <string>(areas.Select(x => x.ClaveUnidad.Trim()));
                UORepository  uo   = new UORepository(_dbGEN);
                List <UnidadOrganizacional> uos = new List <UnidadOrganizacional>();
                uos = await uo.GetAllByCollectionCR(uos1);

                foreach (AreaConvenio ar in entities.AreaConvenio)
                {
                    var unidadId = ar.ClaveUnidad;
                    ar.UnidadOrganizacional = uos.Find(x => x.ClaveUnidad == unidadId);
                }

                return(entities);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }