コード例 #1
0
 public InformeAnualRepository()
 {
     _db          = new CP_Context();
     repo         = new NuevoOCRepository();
     _genContext  = new GEN_Context();
     _adjuntoRepo = new AdjuntoRepository();
 }
コード例 #2
0
        public async Task UpdateEstado(IdeaInnovadora model)
        {
            try
            {
                //if (model.EstadoFlujoId == 10)
                //{
                //    model.FechaValidacion = DateTime.Now;
                //}
                var _model = await dbGI.DbSetIdeaInnovadora.FirstOrDefaultAsync(e => e.IdeaInnovadoraId == model.IdeaInnovadoraId);

                if (_model != null)
                {
                    _model.EstadoFlujoId = model.EstadoFlujoId;
                    _model.TipoAcceso    = model.TipoAcceso;
                    if (model.EstadoFlujoId == 10)
                    {
                        _model.FechaValidacion = DateTime.Now;
                    }
                    await dbGI.SaveChangesAsync();

                    if (model.TipoAcceso == 1 && model.EstadoFlujoId == 10)
                    {
                        NuevoOCRepository nuevo = new NuevoOCRepository();
                        await nuevo.Create(new NuevoOC("GI", "II", _model.NombreIdea,
                                                       "indexGI.html#/buscarIdeaInnovadoraDetalles/" + _model.IdeaInnovadoraId,
                                                       _model.IdeaInnovadoraId.ToString()
                                                       ));
                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
コード例 #3
0
 public EstudiosEspecializadosRepository()
 {
     _db          = new CP_Context();
     repo         = new NuevoOCRepository();
     _genContext  = new GEN_Context();
     _adjuntoRepo = new AdjuntoRepository();
 }
コード例 #4
0
        /// <summary>
        /// Elimina a un becario por un id
        /// </summary>
        /// <param name="id">id del becario a eliminar</param>
        /// <returns></returns>
        public async Task Delete(int id)
        {
            try
            {
                var entitie = await _dbch.BecarioExternoINEEL
                              .FirstOrDefaultAsync(e => e.BecarioId == id);

                if (entitie != null)
                {
                    var infoAgregada = await _dbgen.dbSetNuevoOC.Where(e => e.descripcion.Equals(entitie.NombreBecario)).FirstOrDefaultAsync();

                    if (infoAgregada != null)
                    {
                        NuevoOCRepository repo = new NuevoOCRepository();
                        await repo.Delete(infoAgregada.NuevoOCId);
                    }
                    _dbch.BecarioExternoINEEL.Remove(entitie);
                    await _dbch.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
コード例 #5
0
        public async Task UpdateEstado(PersonaPartInt model)
        {
            try
            {
                var _model = await _db.PersonaPartInt.FirstOrDefaultAsync(e => e.PersonaPartIntId == model.PersonaPartIntId);

                if (_model != null)
                {
                    _model.Estado = model.Estado;

                    var infoAgregada = await _dbGEN.dbSetNuevoOC.Where(e => e.descripcion.Equals(_model.Contacto.NombreCompleto) && e.OcsId == "PARTINTPERS").FirstOrDefaultAsync();

                    if (infoAgregada != null && model.Estado == false)
                    {
                        NuevoOCRepository repo = new NuevoOCRepository();
                        await repo.Delete(infoAgregada.NuevoOCId);
                    }
                    else
                    {
                        var _contacto = await _db.Contacto.FirstOrDefaultAsync(e => e.ContactoId == model.ContactoId);

                        if (_contacto != null)
                        {
                            await new NuevoOCRepository(_dbGEN).Create(new NuevoOC("CR", "PARTINTPERS", _contacto.NombreCompleto, "IndexCR.html#/detallesPersonaPartInt/" + model.PersonaPartIntId));
                        }
                    }
                    await _db.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
コード例 #6
0
 public TemasInnovacionRepository()
 {
     _db          = new CP_Context();
     _genContext  = new GEN_Context();
     _adjuntoRepo = new AdjuntoRepository();
     repo         = new NuevoOCRepository();
 }
コード例 #7
0
 public MapasRutaRepository()
 {
     _db          = new CP_Context();
     repo         = new NuevoOCRepository();
     _genContext  = new GEN_Context();
     _adjuntoRepo = new AdjuntoRepository();
 }
コード例 #8
0
 public EstadoArteRepository()
 {
     _db          = new CP_Context();
     repo         = new NuevoOCRepository();
     _genContext  = new GEN_Context();
     _adjuntoRepo = new AdjuntoRepository();
 }
コード例 #9
0
        /// <summary>
        /// Asocia el registro de un becario con un investigador
        /// </summary>
        /// <returns></returns>
        public async Task ActualizaRegistroBecaEmpleado(int id, string clave)
        {
            try
            {
                var _model = await _dbch.BecarioExternoINEEL
                             .FirstOrDefaultAsync(e => e.BecarioId == id);

                if (_model != null)
                {
                    var notificacion = await _dbgen.dbSetNuevoOC.Where(e => e.OcsId.Equals("BecarioExterno") && e.IdExterno == _model.BecarioId + "").AsNoTracking().FirstOrDefaultAsync();;
                    if (clave == "null")   //La clave sera nula cuando el registro sea desasociado al empleado
                    {
                        clave = null;
                    }
                    if (notificacion == null)
                    {
                        NuevoOCRepository repo = new NuevoOCRepository();
                        await repo.Create("CH", "BecarioExterno", _model.NombreBecario, "indexCH.html#/InformeBecarioDetails/" + _model.BecarioId, Convert.ToString(_model.BecarioId));
                    }
                    if (notificacion != null && clave == null)
                    {
                        NuevoOCRepository repo = new NuevoOCRepository();
                        await repo.Delete(notificacion.NuevoOCId);
                    }

                    _model.ClavePersona = clave;
                    await _dbch.SaveChangesAsync();
                }
                else
                {
                    throw new ApplicationException("Error al asociar el registro con el empleado");
                }

                if (clave != null)
                {
                    PersonasRepository prep = new PersonasRepository();
                    Personas           p    = await prep.GetByClave(clave);

                    p.ultimaActualizacion = DateTime.Now;
                    await prep.Update(p);
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
コード例 #10
0
        public async Task Update(TecnologiaLicenciada model, String clavePersona, String nombrePersona)
        {
            try
            {
                var _model = await dbGI.DbSetTecnologiaLicenciada.FirstOrDefaultAsync(e => e.TecnologiaLicenciadaId == model.TecnologiaLicenciadaId);

                if (_model != null)
                {
                    if (model.Gerencias.Count > 0)
                    { //Se remueven las viejas gerencias
                        var oldGerencias = await dbGI.DbSetTecnologiaLicenciadaGerencia.Where(e => e.TecnologiaLicenciadaId == model.TecnologiaLicenciadaId).ToListAsync();

                        if (oldGerencias.Count > 0)
                        {
                            dbGI.DbSetTecnologiaLicenciadaGerencia.RemoveRange(oldGerencias);
                        }
                        dbGI.DbSetTecnologiaLicenciadaGerencia.AddRange(model.Gerencias);
                    }

                    //Verificamos la existencia de una notificacion como nuevo OC
                    var infoAgregada = await dbGEN.dbSetNuevoOC.Where(e => e.descripcion.Equals(_model.NombreTecnologiaLic)).FirstOrDefaultAsync();

                    if (infoAgregada != null && model.EstadoLicenciamientoId != 1)
                    {
                        NuevoOCRepository repo = new NuevoOCRepository();
                        await repo.Delete(infoAgregada.NuevoOCId);
                    }
                    if (infoAgregada == null && model.EstadoLicenciamientoId == 1)  //En caso de estar vigente la tecnologia se crea una notificacion de nuevo OC
                    {
                        NuevoOCRepository nuevo = new NuevoOCRepository();
                        await nuevo.Create(new NuevoOC("GI", "STL", model.NombreTecnologiaLic,
                                                       "indexGI.html#/detallestecnologiaLicenciada/" + model.TecnologiaLicenciadaId,
                                                       model.TecnologiaLicenciadaId.ToString()
                                                       ));
                    }

                    dbGI.Entry(_model).CurrentValues.SetValues(model);
                    await dbGI.SaveChangesAsync();

                    await this.AddBitacoraMovimiento(model, clavePersona, nombrePersona, "Actualización de STL");
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
コード例 #11
0
        public async Task Create(Comunidad model)
        {
            try
            {
                var entities = _db.DbSetComunidades.Add(model);
                await _db.SaveChangesAsync();

                var id = entities.ComunidadId;

                NuevoOCRepository oc = new NuevoOCRepository();
                //Los parametros son modulo, id del oc, descripcion, liga del detalle del oc
                NuevoOC nuevoOC = new NuevoOC("CP", "CP", model.Descripcion, "indexCP.html#/homeComunidad/" + model.ComunidadId);
                await oc.Create(nuevoOC);

                Miembros lider = new Miembros();
                lider.Aceptacion      = false;
                lider.FechaAlta       = DateTime.Now;
                lider.FechaAceptacion = DateTime.Now;
                lider.idPersonas      = model.claveLider;
                lider.rolId           = model.claveRolLider;
                lider.idCP            = id;
                lider.nombrePersona   = model.nombreLider;
                lider.estado          = true;


                _db.DbSetMiembros.Add(lider);
                await _db.SaveChangesAsync();


                Miembros secretario = new Miembros();
                secretario.Aceptacion      = false;
                secretario.FechaAlta       = DateTime.Now;
                secretario.FechaAceptacion = DateTime.Now;
                secretario.idPersonas      = model.claveSecretario;
                secretario.rolId           = model.claveRolSecretario;
                secretario.idCP            = id;
                secretario.nombrePersona   = model.nombreSecretario;
                secretario.estado          = true;

                _db.DbSetMiembros.Add(secretario);
                await _db.SaveChangesAsync();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
コード例 #12
0
        /// <summary>
        /// Crea un lineamiento
        /// </summary>
        /// <param name="Lineamientos">objeto con los datos para crear</param>
        public async Task Create(Lineamientos model)
        {
            try
            {
                var registro = _db.DbSetLineamientos.Add(model);
                await _db.SaveChangesAsync();

                NuevoOCRepository ocrepo = new NuevoOCRepository();
                //Los parametros son: moduloid, id del oc (en este caso son strings), descripcion, liga del detalle del oc
                NuevoOC nuevoOC = new NuevoOC("CP", "LineamientosCP", registro.Nombre, "indexCP.html#/consultaLineamientos/");
                await ocrepo.Create(nuevoOC);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
コード例 #13
0
        /// <summary>
        /// Actualiza un becario
        /// </summary>
        /// <param name="model">becario con los nuevos valores</param>
        /// <returns></returns>
        public async Task Update(BecarioExternoINEEL model)
        {
            try
            {
                var _model = await _dbch.BecarioExternoINEEL
                             .FirstOrDefaultAsync(e => e.BecarioId == model.BecarioId);

                if (_model != null)
                {
                    if (model.Adjunto != null)
                    {
                        Adjunto key = await new AdjuntoRepository().CreateAd(model.Adjunto);
                        model.AdjuntoId = key.AdjuntoId;
                    }

                    if (model.EstadoFlujoId == 3)
                    {
                        NuevoOCRepository repo = new NuevoOCRepository();
                        await repo.Create("CH", "BecarioDirigido", _model.NombreBecario, "indexCH.html#/InformeBecarioDetails/" + _model.BecarioId, Convert.ToString(_model.BecarioId));
                    }
                    else
                    {
                        var notificacion = await _dbgen.dbSetNuevoOC.Where(e => e.OcsId.Equals("BecarioDirigido") && e.IdExterno == _model.BecarioId + "").AsNoTracking().FirstOrDefaultAsync();;
                        if (notificacion != null)
                        {
                            NuevoOCRepository repo = new NuevoOCRepository();
                            await repo.DeleteId("BecarioDirigido", _model.BecarioId + "");
                        }
                    }

                    _dbch.Entry(_model).CurrentValues.SetValues(model);
                    await _dbch.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
コード例 #14
0
        public async Task Create(TecnologiaLicenciada model, string clavePersona, string nombrePersona)
        {
            try
            {
                dbGI.DbSetTecnologiaLicenciada.Add(model);
                await dbGI.SaveChangesAsync();

                await this.AddBitacoraMovimiento(model, clavePersona, nombrePersona, "Creación del registro");

                if (model.EstadoLicenciamientoId == 1) //En caso de estar vigente la tecnologia se crea una notificacion de nuevo OC
                {
                    NuevoOCRepository nuevo = new NuevoOCRepository();
                    await nuevo.Create(new NuevoOC("GI", "STL", model.NombreTecnologiaLic,
                                                   "indexGI.html#/detallestecnologiaLicenciada/" + model.TecnologiaLicenciadaId,
                                                   model.TecnologiaLicenciadaId.ToString()
                                                   ));
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
コード例 #15
0
        public async Task Delete(int id)
        {
            try
            {
                var _model = await _db.PersonaPartInt.Include(e => e.Contacto).FirstOrDefaultAsync(e => e.PersonaPartIntId == id);

                if (_model != null)
                {
                    var infoAgregada = await _dbGEN.dbSetNuevoOC.Where(e => e.descripcion.Equals(_model.Contacto.NombreCompleto) && e.OcsId == "PARTINTPERS").FirstOrDefaultAsync();

                    if (infoAgregada != null)
                    {
                        NuevoOCRepository repo = new NuevoOCRepository();
                        await repo.Delete(infoAgregada.NuevoOCId);
                    }
                    _db.PersonaPartInt.Remove(_model);
                    await _db.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
コード例 #16
0
 public NuevoOCController()
 {
     _entityRepo = new NuevoOCRepository();
 }
コード例 #17
0
        public async Task DeleteConvocatoriaWithFKS(int id)
        {
            try
            {
                var _model = await _db.Convocatoria.FirstOrDefaultAsync(e => e.ConvocatoriaId == id);

                if (_model != null)
                {
                    ///buscamos y eliminamos los registros asociados a la convocatoria

                    var _sitio = await _db.SitioWebPorConvocatoria.Where(e => e.ConvocatoriaId == id).ToListAsync();

                    if (_sitio.Count > 0)
                    {
                        _db.SitioWebPorConvocatoria.RemoveRange(_sitio);
                    }

                    var _proyecto = await _db.ProyectoPorConvocatoria.Where(e => e.ConvocatoriaId == id).ToListAsync();

                    if (_proyecto.Count > 0)
                    {
                        _db.ProyectoPorConvocatoria.RemoveRange(_proyecto);
                    }

                    var _propuesta = await _db.PropuestaPorConvocatoria.Where(e => e.ConvocatoriaId == id).ToListAsync();

                    if (_propuesta.Count > 0)
                    {
                        _db.PropuestaPorConvocatoria.RemoveRange(_propuesta);
                    }

                    var _pais = await _db.PaisesPorConvocatoria.Where(e => e.ConvocatoriaId == id).ToListAsync();

                    if (_pais.Count > 0)
                    {
                        _db.PaisesPorConvocatoria.RemoveRange(_pais);
                    }

                    var _contacto = await _db.ContactoPorConvocatoria.Where(e => e.ConvocatoriaId == id).ToListAsync();

                    if (_contacto.Count > 0)
                    {
                        _db.ContactoPorConvocatoria.RemoveRange(_contacto);
                    }

                    var _adjunto = await _db.AdjuntoPorConvocatoria.Where(e => e.ConvocatoriaId == id).ToListAsync();

                    if (_adjunto.Count > 0)
                    {
                        var idsadjuntos = _adjunto.Select(x => x.AdjuntoId).ToList();
                        _db.AdjuntoPorConvocatoria.RemoveRange(_adjunto);
                        await _db.SaveChangesAsync();

                        await new AdjuntoRepository().DeleteByCollectionIds(idsadjuntos);
                    }

                    var infoAgregada = await _dbGEN.dbSetNuevoOC.Where(e => e.descripcion.Equals(_model.NombreConvocatoria) && e.OcsId == "CONVOCATORIA").FirstOrDefaultAsync();

                    if (infoAgregada != null)
                    {
                        NuevoOCRepository repo = new NuevoOCRepository();
                        await repo.Delete(infoAgregada.NuevoOCId);
                    }

                    //Finalmente se quita la convocatoria
                    _db.Convocatoria.Remove(_model);
                    await _db.SaveChangesAsync(); //se guardan cambios en la bd
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }