public async Task Create(MapasRuta model) { try { if (model.claveAutores != null) { var mapa = _db.DbSetMapasRutas.Add(model); await _db.SaveChangesAsync(); var estatusComunidad = await _db.DbSetComunidades.Where(e => e.ComunidadId == model.idCP).AsNoTracking().Select(x => x.Estado).FirstOrDefaultAsync(); if (model.Estatus.Equals("Aprobado") && estatusComunidad) { //Solo se pueden hacer operaciones si la comunidad esta activa await repo.Create("CP", "MapasRuta", model.Nombre, "indexCP.html#/detallesMapaRuta/" + mapa.MapaId, Convert.ToString(mapa.MapaId)); } Autores autor = new Autores(); foreach (var clave in model.claveAutores) { autor.clave = clave; autor.ContenidoId = mapa.MapaId; autor.idOC = 1; autor.FechaRegistro = DateTime.Now; _db.DbSetAutores.Add(autor); await _db.SaveChangesAsync(); } } } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task Create(EstadoArte model) { try { if (model.claveAutores != null) { var arte = _db.DbSetEstadoArte.Add(model); await _db.SaveChangesAsync(); //Creacion de la notificacion de nuevo OC var estatusComunidad = await _db.DbSetComunidades.Where(e => e.ComunidadId == model.idCP).AsNoTracking().Select(x => x.Estado).FirstOrDefaultAsync(); if (model.Estado.Equals("Aprobado") && estatusComunidad) { await repo.Create("CP", "EstadoArte", arte.Nombre, "indexCP.html#/detallesEstadoArte/" + arte.EstadoArteId, Convert.ToString(arte.EstadoArteId)); } Autores autor = new Autores(); foreach (var clave in model.claveAutores) { autor.clave = clave; autor.ContenidoId = arte.EstadoArteId; autor.idOC = 2; autor.FechaRegistro = DateTime.Now; _db.DbSetAutores.Add(autor); await _db.SaveChangesAsync(); } } } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task Create(TemasInnovacion model) { try { if (model.claveAutores != null) { var tema = _db.DbSetTemasInnovacion.Add(model); await _db.SaveChangesAsync(); //Creacion de la notificacion de nuevo OC var estatusComunidad = await _db.DbSetComunidades.Where(e => e.ComunidadId == model.idCP).AsNoTracking().Select(x => x.Estado).FirstOrDefaultAsync(); if (model.Estado.Equals("Aprobado") && estatusComunidad) { //Solo se pueden hacer operaciones si la comunidad esta activa await repo.Create("CP", "TemasInnovacion", tema.Nombre, "indexCP.html#/detallesTemas/" + tema.TemaId, Convert.ToString(model.TemaId)); } Autores autor = new Autores(); foreach (var clave in model.claveAutores) { autor.clave = clave; autor.ContenidoId = tema.TemaId; autor.idOC = 6; autor.FechaRegistro = DateTime.Now; _db.DbSetAutores.Add(autor); await _db.SaveChangesAsync(); } } } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task Create(PlanAnual model) { try { if (model.claveAutores != null) { var plan = _db.DbSetPlanAnual.Add(model); await _db.SaveChangesAsync(); var estatusComunidad = await _db.DbSetComunidades.Where(e => e.ComunidadId == model.idCP).AsNoTracking().Select(x => x.Estado).FirstOrDefaultAsync(); if (model.Estado.Equals("Aprobado") && estatusComunidad) { //Los parametros son: moduloid, id del oc (en este caso son strings), descripcion, liga del detalle del oc await repo.Create("CP", "PlanesAnuales", plan.Nombre, "indexCP.html#/detallesPlanAnual/" + plan.PlanId, Convert.ToString(plan.PlanId)); } Autores autor = new Autores(); foreach (var clave in model.claveAutores) { autor.clave = clave; autor.ContenidoId = plan.PlanId; autor.idOC = 5; autor.FechaRegistro = DateTime.Now; _db.DbSetAutores.Add(autor); await _db.SaveChangesAsync(); } } } catch (Exception e) { throw new Exception(e.Message, e); } }
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); } }
[Authorize] public async Task <IHttpActionResult> Create([FromBody] NuevoOC model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { log.Info(new MDCSet(this.ControllerContext.RouteData)); await _entityRepo.Create(model); return(Ok("Registro creado exitosamente!")); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }
/// <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); } }
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); } }
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); } }
/// <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); } }
/// <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); } }
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); } }