예제 #1
0
        public async Task <string> Create(MiembrosGI model)
        {
            try
            {
                if (!model.ExisteEn(_db.DbSetMiembrosGI.Where(e => e.ComiteGIId == model.ComiteGIId).Select(e => e.ClavePersona).ToList(), "ClavePersona"))
                {
                    _db.DbSetMiembrosGI.Add(model);
                    await _db.SaveChangesAsync();

                    //Verificamos la existencia del rol evaluador GI en la base de datos
                    var roles = await _GENContext.dbSetRolPersona.Where(e => e.ClavePersona == model.ClavePersona && e.IdRol == 1029).AsNoTracking().ToListAsync();

                    if (roles.Count <= 0)
                    {
                        RolPersona nuevo = new RolPersona();
                        nuevo.Estado       = 1;
                        nuevo.IdRol        = 1029;
                        nuevo.ClavePersona = model.ClavePersona;
                        await _RolPersonaRepo.Create(nuevo);
                    }

                    return("Registro creado exitosamente!");
                }
                else
                {
                    return("Ya existe un registro con ese nombre.");
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
예제 #2
0
                                                        [HttpPost][Authorize] public async Task <IHttpActionResult> Create(RolPersona obj)
                                                        {
                                                            try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                  await _repository.Create(obj);

                                                                  return(Ok("Rol de usuario creado correctamente!")); }
                                                            catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);

                                                                                  return(InternalServerError(e)); }
                                                        }