Пример #1
0
        public List <DetailedUser> SearchDetailedUsers(int userID, string searchInput)
        {
            string query = "select u.ID, u.Name, u.Handle, u.Address, " +
                           " (select COUNT(ID) from Followers where UserID = u.ID and FollowedBy=" + userID + ") IsFollowed," +
                           " (select ifnull(count(ID), 0) from Followers where UserID = u.ID) Followers, " +
                           " (select ifnull(count(ID), 0) from Followers where FollowedBy = u.ID) Following " +
                           " from Users u " +
                           " where u.ID<>" + userID +
                           " and (u.Name like '%" + searchInput + "%' " +
                           " or u.Handle like '%" + searchInput + "%'); ";
            DataSet ds = SQLiteHelper.ExecuteQuery(query);

            if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                List <DetailedUser> detailedUsers = new List <DetailedUser>();
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    DetailedUser user = new DetailedUser();
                    user.ID             = Convert.ToInt32(row["ID"].ToString());
                    user.Name           = row["Name"].ToString();
                    user.Handle         = row["Handle"].ToString();
                    user.Address        = row["Address"].ToString();
                    user.IsFollowed     = Convert.ToInt32(row["IsFollowed"].ToString()) == 1;
                    user.FollowerCount  = Convert.ToInt32(row["Followers"]);
                    user.FollowingCount = Convert.ToInt32(row["Following"]);

                    detailedUsers.Add(user);
                }
                return(detailedUsers);
            }
            else
            {
                return(null);
            }
        }
Пример #2
0
        private static List <DetailedUser> GetPermissions(RoleAssignmentCollection roleAssignments, string url)
        {
            List <DetailedUser> users = new List <DetailedUser>();

            foreach (var roleAssignment in roleAssignments)
            {
                if (roleAssignment.Member.PrincipalType == Microsoft.SharePoint.Client.Utilities.PrincipalType.User)
                {
                    var detailedUser = new DetailedUser();
                    detailedUser.Url         = url;
                    detailedUser.User        = roleAssignment.Member as User;
                    detailedUser.Permissions = new List <string>();

                    foreach (var roleDefinition in roleAssignment.RoleDefinitionBindings)
                    {
                        if (roleDefinition.Name == "Limited Access")
                        {
                            continue;
                        }

                        detailedUser.Permissions.Add(roleDefinition.Name);
                    }

                    // if no permissions are recorded (hence, limited access, skip the adding of the permissions)
                    if (detailedUser.Permissions.Count == 0)
                    {
                        continue;
                    }

                    users.Add(detailedUser);
                }
            }
            return(users);
        }
Пример #3
0
        public async Task <IActionResult> Reg([FromBody] RegistrationViewModel model)
        {
            //var userIdentity = _mapper.Map<DbUser>(model);

            var userIdentity = new DbUser {
                Email = model.Email, UserName = model.UserName, PhoneNumber = model.PhoneNumber
            };
            var user = await userManager.CreateAsync(userIdentity, model.Password);


            if (!user.Succeeded)
            {
                foreach (var el in user.Errors)
                {
                    return(new BadRequestObjectResult(Errors.AddErrorToModelState("Error", el.Description, ModelState)));
                }
            }
            else
            {
                DetailedUser userDetailed = new DetailedUser
                {
                    UserSurname = model.UserSurname,
                    DateOfBirth = new DateTime(2019, 11, 9), /*DateTime.Parse(model.DateOfBirth.ToShortDateString())*/
                    Locality    = model.Locality,
                    User        = userManager.FindByEmailAsync(model.Email).Result
                };
                _dbcontext.Add(userDetailed);
                _dbcontext.SaveChanges();
            }


            model.Password = "";

            return(Ok("Account Created"));
        }
Пример #4
0
        public DetailedUser GetDetailedUser(int userID, int id)
        {
            string query = "select u.ID, u.Name, u.Handle, u.Address, " +
                           " (select COUNT(ID) from Followers where UserID = u.ID and FollowedBy=" + id + ") IsFollowed," +
                           " (select ifnull(count(ID), 0) from Followers where UserID = u.ID) Followers, " +
                           " (select ifnull(count(ID), 0) from Followers where FollowedBy = u.ID) Following " +
                           " from Users u " +
                           " where u.ID=" + userID + ";";
            DataSet ds = SQLiteHelper.ExecuteQuery(query);

            if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                DataRow      row  = ds.Tables[0].Rows[0];
                DetailedUser user = new DetailedUser();
                user.ID             = Convert.ToInt32(row["ID"].ToString());
                user.Name           = row["Name"].ToString();
                user.Handle         = row["Handle"].ToString();
                user.Address        = row["Address"].ToString();
                user.IsFollowed     = Convert.ToInt32(row["IsFollowed"].ToString()) == 1;
                user.FollowerCount  = Convert.ToInt32(row["Followers"]);
                user.FollowingCount = Convert.ToInt32(row["Following"]);

                return(user);
            }
            else
            {
                return(null);
            }
        }
Пример #5
0
        public async Task <ActionResult <DetailedUser> > Get(int id)
        {
            var users = _dbContext.Users.Include(x => x.UserGroup).Include(x => x.UserState);
            var user  = await users.FirstOrDefaultAsync(x => x.UserId == id);

            if (user == null)
            {
                return(NotFound());
            }

            return(new ObjectResult(DetailedUser.ToDetailed(user)));
        }
        private static DetailedUser GetNewAdmin()
        {
            var admin = new DetailedUser
            {
                Username    = "******",
                DateCreated = DateTime.Now,
            };

            admin.SetPassword("admin");

            return(admin);
        }
Пример #7
0
        public async Task <ActionResult <DetailedUser> > LookupAsync(string username)
        {
            // TODO: user model validation

            if (string.IsNullOrEmpty(username))
            {
                _logger.LogInformation("Required parameter {parameter} was not specified, returning 400 Bad Request", nameof(username));
                return(BadRequest());
            }

            _logger.LogDebug("Looking up user {Username}", username);

            DetailedUser result = await _mediator.Send(new Lookup.Request(username));

            return(result);
        }
Пример #8
0
        public DetailedUser GetUserDetailsByUserName(string username)
        {
            DetailedUser detailedUser = null;

            try
            {
                var user = _context.Users
                           .Include(user => user.Photos)
                           .Include(user => user.UserRoles)
                           .FirstOrDefault(u => u.UserName == username);
                detailedUser = _mapper.Map <DetailedUser>(user);
            }
            catch (System.Exception ex)
            {
                _logger.LogError(ex.Message);
            }

            return(detailedUser);
        }
Пример #9
0
        public object UserProfile(int userID)
        {
            try
            {
                int id = Convert.ToInt32(User.Identity.Name);

                UserDataAccess userDB = new UserDataAccess();
                DetailedUser   user   = userDB.GetDetailedUser(userID, id);

                TweetDataAccess tweetDB = new TweetDataAccess();
                List <Tweet>    tweets  = tweetDB.GetTweetsByUser(userID);

                return(new { User = user, Tweets = tweets });
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #10
0
        public void StoreUser(User user, string password)
        {
            CheckLoginStatus();
            if (_db.Exists("Username", user.Username))
            {
                throw new ArgumentException($"Username '{ user.Username }' already exists.");
            }

            var newUser = new DetailedUser
            {
                Username    = user.Username,
                Name        = user.Name,
                LastName    = user.LastName,
                DateCreated = DateTime.Now
            };

            PasswordValidationHelper.ValidatePassword(password);
            newUser.SetPassword(password);

            _db.Add(newUser);
        }
Пример #11
0
        public DetailedUser GetUserDetailsByUserId(string id)
        {
            DetailedUser detailedUser = null;

            try
            {
                // var query = from u in _context.Users
                // .Where(u => u.Id == id)
                // select new {
                //     User = u,
                //     Photos = u.Photos.Where(p => p.IsApproved == true),
                //     Roles = u.UserRoles.Select(user => user.Role)
                // };

                var query = _context.Users
                            .Where(u => u.Id == id)
                            .Select(u => new {
                    User             = u,
                    Photos           = u.Photos.Where(p => p.IsApproved == true),
                    UnApprovedPhotos = u.Photos.Where(p => p.IsApproved == false),
                    Roles            = u.UserRoles.Select(user => user.Role)
                });

                var userResult = query.FirstOrDefault();

                detailedUser                  = _mapper.Map <DetailedUser>(userResult.User);
                detailedUser.Photos           = _mapper.Map <IList <PhotoForClient> >(userResult.Photos);
                detailedUser.UnApprovedPhotos = _mapper.Map <IList <PhotoForClient> >(userResult.UnApprovedPhotos);

                detailedUser.Roles = userResult.Roles.Select(r => r.Name).ToList();
            }
            catch (System.Exception ex)
            {
                _logger.LogError(ex.Message);
            }

            return(detailedUser);
        }
Пример #12
0
        public async Task <ActionResult <IEnumerable <DetailedUser> > > Get()
        {
            var users = _dbContext.Users.Include(x => x.UserGroup).Include(x => x.UserState);

            return(await users.Select(x => DetailedUser.ToDetailed(x)).ToListAsync());
        }
Пример #13
0
 private void UpdateLastAccess(DetailedUser detailedUser)
 {
     detailedUser.LastAccessed = DateTime.Now;
     _db.Update(detailedUser);
 }