示例#1
0
        // GET: Users/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            User user = await _context.Users.
                        Include(u => u.Role).
                        Include(u => u.Team).
                        FirstAsync(u => u.Id == id);

            if (user == null)
            {
                return(NotFound());
            }
            UsersDetailsViewModel model = new UsersDetailsViewModel
            {
                Id        = user.Id,
                Email     = user.Email,
                FirstName = user.FirstName,
                LastName  = user.LastName,
                UserName  = user.UserName,
                Team      = user.Team,
                Role      = user.Role.Name
            };

            return(View(model));
        }
示例#2
0
        public async Task <IViewComponentResult> InvokeAsync(string userId)
        {
            var viewModel = new UsersDetailsViewModel
            {
                Id             = userId,
                FollowersCount = await this.usersService.GetFollowersCountAsync(userId),
                FollowingCount = await this.usersService.GetFollowingCountAsync(userId)
            };

            return(this.View(viewModel));
        }
示例#3
0
        public async Task <IViewComponentResult> InvokeAsync(string userId)
        {
            var followerId = this.UserClaimsPrincipal.GetId();
            var viewModel  = new UsersDetailsViewModel
            {
                Id         = userId,
                IsFollowed = await this.usersService.IsFollowedAlreadyAsync(userId, followerId)
            };

            return(this.View(viewModel));
        }
示例#4
0
        public ActionResult Register(UsersDetailsViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Session[Constants.Headers.AuthTokenHeader] = "registertoken";

                    var existingLogin = webClient.ExecutePost <object>(new Models.ApiRequest()
                    {
                        EndPoint = string.Format("users"),
                        Request  = new UserDto()
                        {
                            FullName = model.FullName,
                            Username = model.Username,
                            Password = model.Password,
                            IsAdmin  = false
                        }
                    }) as JObject;


                    if (existingLogin != null)
                    {
                        var parsedLogin = existingLogin.ToObject <LoginDto>();
                        Session[Constants.Headers.AuthTokenHeader] = parsedLogin.AuthToken;
                        Session["LoginId"]  = parsedLogin.Id;
                        Session["Username"] = model.Username;
                    }

                    return(RedirectToAction("Index", "Home"));
                }
                catch (HttpException ex)
                {
                    if (ex.GetHttpCode() != (int)HttpStatusCode.BadRequest)
                    {
                        throw ex;
                    }

                    ModelState.AddModelError("", "This username is already taken! Please choose another one.");
                    Session[Constants.Headers.AuthTokenHeader] = null;
                    return(View());
                }
                catch
                {
                    Session[Constants.Headers.AuthTokenHeader] = null;
                    return(View());
                }
            }

            return(View());
        }
示例#5
0
        private async Task <UsersDetailsViewModel> GetGroupDetailsViewModelFromGroup(Users users)
        {
            UsersDetailsViewModel viewModel = new UsersDetailsViewModel();

            viewModel.users = users;


            var ll = users.Id.ToString();


            List <UserDetails> contacts = await _context.userDetails.Where(m => m.UswerId == ll).ToListAsync();

            viewModel.UserDetails = contacts;
            return(viewModel);
        }
示例#6
0
        public ActionResult Login([FromUri] string error = null)
        {
            var model = new UsersDetailsViewModel();

            if (!string.IsNullOrEmpty(error))
            {
                if (error.ToLower() == "unauthorized")
                {
                    ModelState.AddModelError("", "You must login in order to access that page");
                }
            }

            ViewBag.Title = "Login";

            return(View(model));
        }
示例#7
0
        /// <summary>
        /// Fetch detailsof a specific User and pass to the Details view
        /// </summary>
        /// <param name="id"></param>
        /// <param name="returnUrl"></param>
        /// <returns></returns>
        // GET: Users/Details/5
        public async Task <ActionResult> Details(string id, UsersDetailsViewModel userDetails, string returnUrl = null)
        {
            ApplicationUser user = await _userManager.FindByIdAsync(id);

            var roles = await _userManager.GetRolesAsync(user);

            userDetails.Id          = user.Id;
            userDetails.FirstName   = user.FirstName;
            userDetails.LastName    = user.LastName;
            userDetails.FullName    = user.FullName;
            userDetails.UserName    = user.UserName;
            userDetails.Email       = user.Email;
            userDetails.PhoneNumber = user.PhoneNumber;
            userDetails.Roles       = roles.ToList();
            ViewData["ReturnUrl"]   = returnUrl;
            return(View(userDetails));
        }
示例#8
0
        public ActionResult Login(UsersDetailsViewModel model)
        {
            try
            {
                var existingLogin = webClient.ExecuteLoginPost <object>(new Models.ApiRequest()
                {
                    EndPoint = string.Format("logins"),
                    Request  = new UserDto()
                    {
                        Username = model.Username,
                        Password = model.Password
                    }
                }) as JObject;

                if (existingLogin != null)
                {
                    var parsedLogin = existingLogin.ToObject <LoginDto>();
                    Session[Constants.Headers.AuthTokenHeader] = parsedLogin.AuthToken;

                    var user = webClient.ExecuteGet <UserDto>(new Models.ApiRequest()
                    {
                        EndPoint = string.Format("users/details/{0}", model.Username)
                    });
                    if (user != null && user.IsAdmin)
                    {
                        Session[Constants.Headers.AdminTokenHeader] = parsedLogin.AuthToken;
                        Session[Constants.Headers.AuthTokenHeader]  = null;
                    }

                    Session["LoginId"]  = parsedLogin.Id;
                    Session["Username"] = model.Username;
                }
                else
                {
                    ModelState.AddModelError("", "Username or Password is wrong.");
                    return(View());
                }

                return(RedirectToAction("Index", "Home"));
            }
            catch
            {
                ModelState.AddModelError("", "Oops. Something happened.");
                return(View());
            }
        }
        public IActionResult Details(int?id)
        {
            if (!id.HasValue)
            {
                return(RedirectToAction("Index"));
            }

            var user  = _usersService.GetFirstUserById(id.Value);
            var posts = _postsService.GetAllPostsByUserId(id.Value);

            user.Posts = posts;

            var model = new UsersDetailsViewModel
            {
                User = user
            };

            return(View(model));
        }
        public async Task <IActionResult> Details(string id)
        {
            User user = await this._context.Users
                        .SingleOrDefaultAsync(user => user.Id == id);

            UsersDetailsViewModel usersDetailsViewModel = new UsersDetailsViewModel
            {
                Id              = user.Id,
                Username        = user.UserName,
                FullName        = $"{user.FirstName} {user.SecondName} {user.LastName}",
                UCN             = user.UCN,
                PhoneNumber     = user.PhoneNumber,
                Email           = user.Email,
                AppointmentDate = user.AppointmentDate,
                IsActive        = user.IsActive ? "Yes" : "No",
                DateOfDismissal = (user.DateOfDismissal == new DateTime()) ? "-" : user.DateOfDismissal.ToString("mm/dd/yyyy")
            };

            return(this.View(usersDetailsViewModel));
        }
示例#11
0
        // GET: Users/Details/5
        public async Task <IActionResult> Details(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            ViewBag.serviceNo = HttpContext.Session.GetString("User");

            var users = await _context.Users
                        .FirstOrDefaultAsync(m => m.Id == id);

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


            UsersDetailsViewModel viewModel = await GetGroupDetailsViewModelFromGroup(users);

            return(View(viewModel));
        }
示例#12
0
        // GET: Users/Details/5
        public ActionResult Details([FromUri] string username)
        {
            var user = webClient.ExecuteGet <UserDto>(new Models.ApiRequest()
            {
                EndPoint = $"users/details/{username}"
            });

            var model = new UsersDetailsViewModel();

            if (user != null)
            {
                model.Id       = user.Id;
                model.FullName = user.FullName;
                model.Username = user.Username;
                model.IsAdmin  = user.IsAdmin;
                model.Rating   = user.Rating;

                ViewBag.Title = model.Username;
            }

            return(View(model));
        }
示例#13
0
        public IActionResult Details(int?userId, DateTime?dateFrom, DateTime?dateTo, int page = 1)
        {
            if (userId == null)
            {
                return(BadRequest());
            }

            User user = db.Users.Find(userId);

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

            int PageSize = settings.ItemsPerPage;

            UsersDetailsViewModel viewModel = new UsersDetailsViewModel()
            {
                User = user,
                Rows = db.Blogs.Where(x => x.UserId == user.Id && (x.DateTime >= dateFrom || dateFrom == null) && (x.DateTime <= dateTo || dateTo == null)).Select(x => new UsersDetailsViewModel.Row()
                {
                    BlogId             = x.Id,
                    PublishingDateTime = x.DateTime,
                    Summary            = x.Summary,
                    Title = x.Title
                }).OrderBy(x => x.PublishingDateTime).Skip((page - 1) * PageSize).Take(PageSize).ToList(),
                PaginationHelper = new Pagination()
                {
                    CurrentPage  = page,
                    ItemsPerPage = PageSize,
                    TotalItems   = db.Blogs.Where(x => x.UserId == user.Id && (x.DateTime >= dateFrom || dateFrom == null) && (x.DateTime <= dateTo || dateTo == null)).Count()
                }
            };

            return(View(viewModel));
        }
示例#14
0
        public async Task <IActionResult> UserDetails(UsersDetailsViewModel viewModel)
        {
            var user = await _userManager.Users
                       .FirstOrDefaultAsync(u => u.UserName == viewModel.UserName);

            var userRoles = await _userManager.GetRolesAsync(user);

            //roles that already exist in db but did not get here after posting, must be removed
            foreach (var roleToRemove in userRoles.Except(viewModel.RoleNames))
            {
                await _userManager.RemoveFromRoleAsync(user, roleToRemove);
            }

            //roles that do not exist in db must be added to the user
            foreach (var roleName in viewModel.RoleNames)
            {
                if (!userRoles.Contains(roleName))
                {
                    await _userManager.AddToRoleAsync(user, roleName);
                }
            }

            return(View("UserIndex"));
        }
示例#15
0
 public ActionResult GetAllUsers(UsersDetailsViewModel model)
 {
     return(View());
 }
示例#16
0
        public ActionResult Create(UsersDetailsViewModel model

                                   /*[Bind(
                                    *   Include =
                                    *       "cin,active,city,country,state,street,birthday,email,firstname,gender,lastname,password,tel,username,referee_cin"
                                    * )] user user*/)
        {
            var user = new user();

            if (ModelState.IsValid)
            {
                user.cin         = Convert.ToInt64(Request["cin"]);
                user.active      = Request["active"] == "1";
                user.city        = Request["city"];
                user.country     = Request["country"];
                user.state       = Request["state"];
                user.street      = Request["street"];
                user.birthday    = Convert.ToDateTime(Request["birthday"]);
                user.email       = Request["email"];
                user.firstname   = Request["firstname"];
                user.lastname    = Request["lastname"];
                user.gender      = Request["gender"];
                user.password    = Request["password"];
                user.username    = Request["username"];
                user.tel         = Request["tel"];
                user.referee_cin = Convert.ToInt32(Request["referee_cin"]);


                MyPasswordHasher hasher = new MyPasswordHasher();

                switch (Request["role"])
                {
                case "Employee":
                    Employee employe = new Employee()
                    {
                        cin         = user.cin,
                        firstname   = user.firstname,
                        lastname    = user.lastname,
                        username    = user.username,
                        password    = hasher.HashPassword(user.password).ToLower(),
                        birthday    = user.birthday,
                        email       = user.email,
                        gender      = user.gender,
                        country     = user.country,
                        city        = user.city,
                        state       = user.state,
                        street      = user.street,
                        tel         = user.tel,
                        credibility = 0,
                        active      = true
                    };

                    _service.Add(employe);

                    break;

                case "Candidate":
                    Candidate candidate = new Candidate()
                    {
                        cin         = user.cin,
                        firstname   = user.firstname,
                        lastname    = user.lastname,
                        username    = user.username,
                        password    = hasher.HashPassword(user.password).ToLower(),
                        birthday    = user.birthday,
                        email       = user.email,
                        gender      = user.gender,
                        country     = user.country,
                        city        = user.city,
                        state       = user.state,
                        street      = user.street,
                        tel         = user.tel,
                        referee_cin = user.referee_cin,
                        active      = true
                    };
                    _service.Add(candidate);
                    break;

                case "RecruitmentManager":
                    RecruitementManager recruitementManager = new RecruitementManager()
                    {
                        cin       = user.cin,
                        firstname = user.firstname,
                        lastname  = user.lastname,
                        username  = user.username,
                        password  = hasher.HashPassword(user.password).ToLower(),
                        birthday  = user.birthday,
                        email     = user.email,
                        gender    = user.gender,
                        country   = user.country,
                        city      = user.city,
                        state     = user.state,
                        street    = user.street,
                        tel       = user.tel,
                        active    = true
                    };
                    _service.Add(recruitementManager);
                    break;

                default:
                    break;
                }
                //_service.Add(user);
                try
                {
                    _service.commit();
                }
                catch (Exception e)
                {
                    ViewBag.Error       = e.Message + " " + e.GetBaseException().Message;
                    ViewBag.referee_cin = new SelectList(_service.GetMany(), "cin", "firstname");
                    return(View());
                }


                return(RedirectToAction("Index"));
            }

            ViewBag.referee_cin = new SelectList(_service.GetMany(), "cin", "firstname");
            return(View(user));
        }