Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
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);
            }
        }
Ejemplo n.º 3
0
        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);
        }