public async Task <bool> UpdateUser(UserModel user) { var dbUser = await _db.Users.FirstOrDefaultAsync(u => u.Id.Equals(user.Id)); if (dbUser == null) { return(false); } if (string.IsNullOrEmpty(user.Email)) { return(false); } dbUser.Email = user.Email; var userRole = new IdentityUserRole <string>() { RoleId = "1", UserId = user.Id }; var isAdmin = await _db.UserRoles.AnyAsync(ur => ur.Equals(userRole)); if (isAdmin && !user.IsAdmin) //so far admin, but not in the future { _db.UserRoles.Remove(userRole); } else if (!isAdmin && user.IsAdmin) //so far not an admin, but for the future { await _db.UserRoles.AddAsync(userRole); } var result = await _db.SaveChangesAsync(); return(result >= 0); }
public async Task <bool> Add <T>(T item) where T : class { try { await _db.AddAsync <T>(item); return(await _db.SaveChangesAsync() >= 0); } catch { return(false); } }
public async Task <int> CreateAsync <TDto, TEntity>(TDto item) where TDto : class where TEntity : class { try { var entity = _mapper.Map <TEntity>(item); _db.Add((object)entity); var succeed = await _db.SaveChangesAsync() >= 0; if (succeed) { return((int)entity.GetType().GetProperty("Id").GetValue(entity)); //reflection } } catch { } return(-1); }