/// <summary> /// Crea un registro /// </summary> /// <param name="modulo">modulo en el cual se va a registrar la notificacion</param> /// <param name="idOC">Id del registro</param> /// <param name="nombreOC">Nombre del registro</param> /// <param name="url">Url del detalle del registro</param> /// <param name="idExterno">Opcional: un identificador para relacionar los registros</param> /// <returns></returns> public async Task Create(string modulo, string idOC, string nombreOC, string url, string idExterno) { try { NuevoOC model = new NuevoOC(modulo, idOC, nombreOC, url, idExterno); var previo = 0; try { var cant = await _db.dbSetNuevoOC.AsNoTracking() .Where(x => x.liga.Equals(model.liga)) .GroupBy(p => p.liga) .Select(g => new { liga = g.Key, count = g.Count() }) .FirstOrDefaultAsync(); if (cant != null) { previo = cant.count; } if (previo > 0) { return; } } catch (Exception x) { } _db.dbSetNuevoOC.Add(model); await _db.SaveChangesAsync(); } 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); } }
public async Task Update(NuevoOC model) { try { var _model = await _db.dbSetNuevoOC.FirstOrDefaultAsync(e => e.NuevoOCId == model.NuevoOCId); if (_model != null) { _db.Entry(_model).CurrentValues.SetValues(model); 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); } }
public async Task <IHttpActionResult> Update([FromBody] NuevoOC model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { log.Info(new MDCSet(this.ControllerContext.RouteData)); await _entityRepo.Update(model); return(Ok("Registro actualizado exitosamente!")); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }