public UserProfile(SessionInfo session)
        {
            InitializeComponent();

            var userSearchingService = NinjectKernel.Kernel.Get<UserSearcher>();
            var messageHistoryService = NinjectKernel.Kernel.Get<MessageHistoryService>();
            var friendService = NinjectKernel.Kernel.Get<FriendsService>();
            var messengerService = NinjectKernel.Kernel.Get<Messanger>();
            var messageSerchingServ = NinjectKernel.Kernel.Get<MessageSearcher>();
            var profilePhotoService = NinjectKernel.Kernel.Get<Services.PhotoService.UsersPhotoService>();
            var imageServ = NinjectKernel.Kernel.Get<ImageService>();
            var auth = NinjectKernel.Kernel.Get<Authenticator>();
            var imageUrlService = NinjectKernel.Kernel.Get<ImageUrlService>();

            DataContext = new UserProfileViewModel(
                messageHistoryService,
                userSearchingService,
                friendService,
                messengerService,
                session,
                messageSerchingServ,
                profilePhotoService,
                imageServ,
                auth,
                imageUrlService);
        }
        public ActionResult UpdateUserProfile(UserProfileViewModel model, IEnumerable<HttpPostedFileBase> images, string id)
        {
            if (model != null)
            {
                this.userServices.UpdateUserProfile(model, images);
                return this.RedirectToAction("Index", new { id = id });
            }

            return this.RedirectToAction("_UserProfileSettingsPartial", model);
        }
        public new ActionResult Profile()
        {
            var currentUserId = User.Identity.GetUserId();
            var userFromDb = userService.GetUserById(currentUserId);
            var model = new UserProfileViewModel();

            if (userFromDb != null)
            {
                model = Mapper.Map<UserProfileViewModel>(userFromDb);
            }

            model.AvatarUrl = String.Format("/Content/Avatars/{0}.jpg", this.User.Identity.GetUserName());

            return View(model);
        }
        public ActionResult Display(HeaderInfoController headerInfoController, int id, string userName, PuzzleSortType? sortType, int? page, int? pageSize)
        {
            sortType = sortType ?? PuzzleSortType.Newest;
            page = page ?? 1;
            pageSize = pageSize ?? 10;

            var user = _accountService.GetUserById(id);

            if (user == null)
                return View("NotFound");

            var loggedInUserId = _authenticationService.CurrentUserId;
            var lastActivity = _accountService.GetLastActivityDate(user.Id);
            var profileVM = new UserProfileViewModel(user, loggedInUserId, lastActivity);

            return View("Display", profileVM);
        }
        public void UpdateUserProfile(UserProfileViewModel model, IEnumerable<HttpPostedFileBase> images)
        {
            var user = this.Data.Users.GetById(model.Id);
            var userAvatar = user.Avatar;
            this.Mapper.Map(model, user);

            if (images != null)
            {
                user.Avatar = ImageEditor.ResizeImageAndConvertToBitArray(images);
            }
            else
            {
                user.Avatar = userAvatar;
            }

            this.Data.Users.SaveChanges();
        }
        public new ActionResult Profile(string id)
        {
            var userFromDb = usersService.GetUserById(id);
            var visitorId = User.Identity.GetUserId();
            //var visitor = usersService.GetUserById(id);
            var model = new UserProfileViewModel();
            var allMessages= new List<Message>();

            if (userFromDb != null && id != visitorId)
            {
                allMessages = messageService.GetAllMessages(id, visitorId).ToList();
            }

            model = Mapper.Map<UserProfileViewModel>(userFromDb);
            model.AvatarUrl = String.Format("/Content/Avatars/{0}.jpg", userFromDb.UserName);
            model.Messages = allMessages;

            return View(model);
        }
示例#7
0
        public Task <UserProfileViewModel> ToViewModelAsync(UserProfile userProfile, string requestId = "")
        {
            try
            {
                var userProfileViewModel = new UserProfileViewModel
                {
                    Id                = userProfile.Id,
                    DisplayName       = userProfile.DisplayName,
                    Mail              = userProfile.Fields.Mail ?? String.Empty,
                    UserPrincipalName = userProfile.Fields.UserPrincipalName,
                    Title             = userProfile.Fields.Title ?? String.Empty,
                    UserRoles         = new List <RoleModel>()
                };

                if (userProfile.Fields.UserRoles != null)
                {
                    foreach (var role in userProfile.Fields.UserRoles)
                    {
                        var userRole = new RoleModel();
                        userRole.Id = role.Id;
                        //TODO:Need to change here
                        userRole.DisplayName = role.DisplayName;
                        //userRole.DisplayName = "LoanOfficer";//role.AdGroupName;
                        //Granular Permission Change :  Start
                        userRole.AdGroupName = role.AdGroupName;

                        userProfileViewModel.UserRoles.Add(userRole);
                    }
                }

                return(Task.FromResult(userProfileViewModel));
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - ToViewModel Service Exception: {ex}");
                throw new ResponseException($"RequestId: {requestId} - ToViewModel Service Exception: {ex}");
            }
        }
        //
        // GET: /UserProfile/
        public async Task <ActionResult> Index()
        {
            UserProfileViewModel userProfile = new UserProfileViewModel();

            try
            {
                string            userObjId  = System.Security.Claims.ClaimsPrincipal.Current.FindFirst(Settings.AAD_OBJECTID_CLAIMTYPE).Value;
                SessionTokenCache tokenCache = new SessionTokenCache(userObjId, HttpContext);

                string     tenantId    = System.Security.Claims.ClaimsPrincipal.Current.FindFirst(Settings.AAD_TENANTID_CLAIMTYPE).Value;
                string     authority   = string.Format(Settings.AAD_INSTANCE, tenantId, "");
                AuthHelper authHelper  = new AuthHelper(authority, Settings.AAD_APP_ID, Settings.AAD_APP_SECRET, tokenCache);
                string     accessToken = await authHelper.GetUserAccessToken(Url.Action("Index", "Home", null, Request.Url.Scheme));

                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    HttpResponseMessage response = await client.GetAsync(Settings.GRAPH_CURRENT_USER_URL);

                    if (response.IsSuccessStatusCode)
                    {
                        string resultString = await response.Content.ReadAsStringAsync();

                        userProfile = JsonConvert.DeserializeObject <UserProfileViewModel>(resultString);
                    }
                }
            }
            catch (Exception ex)
            {
                ViewBag.Error = "An error has occurred. Details: " + ex.Message;
                return(View());
            }

            return(View(userProfile));
        }
示例#9
0
        public IActionResult <UserProfileViewModel> Profile(int id)
        {
            using (var db = new NotesDbContext())
            {
                User user = db.Users
                            .Include(x => x.Notes)
                            .FirstOrDefault(x => x.Id == id);

                var viewModel = new UserProfileViewModel
                {
                    UserId   = id,
                    Username = user.Username,
                    Notes    = user.Notes
                               .Select(x => new NoteViewModel()
                    {
                        Title   = x.Title,
                        Content = x.Content
                    })
                };

                return(View(viewModel));
            }
        }
        private UserProfileViewModel GetModel(User user, string profileImageExternalId, IReadOnlyCollection <Thread> userThreads)
        {
            var imageUrl       = Url.Action("Get", "Images", new { id = profileImageExternalId }, Request.Scheme);
            var uploadImageUrl = Url.Action("UploadImage", "Images", null, Request.Scheme);
            var threads        = userThreads.Select(t => new BaseThreadInfoViewModel
            {
                AuthorNickname = t.Author.Username,
                ThreadId       = t.Id,
                Title          = t.Title
            }).ToList();

            var model = new UserProfileViewModel
            {
                Username        = user.Username,
                Email           = user.Email,
                ProfileImageUrl = imageUrl,
                UploadImageUrl  = uploadImageUrl,
                ImageExternalId = profileImageExternalId,
                UserThreads     = threads
            };

            return(model);
        }
示例#11
0
        public IActionResult Edit(UserProfile userProfile)
        {
            var oldModel = _userProfileService.GetUserProfile(userProfile.Id);

            //userProfile.Id = oldModel.Id;
            _userProfileService.Update(userProfile);

            var myProfile = _userProfileService.GetUserProfile(userProfile.Id);

            var myUser = new UserProfileViewModel
            {
                FirstName     = myProfile.FirstName,
                LastName      = myProfile.LastName,
                Email         = myProfile.Email,
                Biography     = myProfile.Biography,
                Image         = myProfile.Image,
                UserProfileId = myProfile.Id,
                UserId        = myProfile.UserId,
                JobTitle      = myProfile.JobTitle
            };

            return(View(myUser));
        }
示例#12
0
        public UserProfileWindow(AccountManager accountManager, ContentManager contentManager,
                                 VirtualFileSystem virtualFileSystem)
        {
            AccountManager = accountManager;
            ContentManager = contentManager;
            ViewModel      = new UserProfileViewModel(this);

            DataContext = ViewModel;

            InitializeComponent();
#if DEBUG
            this.AttachDevTools();
#endif
            if (contentManager.GetCurrentFirmwareVersion() != null)
            {
                Task.Run(() =>
                {
                    AvatarProfileViewModel.PreloadAvatars(contentManager, virtualFileSystem);
                });
            }

            Title = $"Ryujinx {Program.Version} - " + LocaleManager.Instance["UserProfileWindowTitle"];
        }
示例#13
0
        public ActionResult EditProfile(UserProfileViewModel member)
        {
            var user = db.Users.Find(member.Id);

            user.FirstName   = member.FirstName;
            user.LastName    = member.LastName;
            user.DisplayName = member.DisplayName;
            user.Email       = member.Email;
            user.UserName    = member.Email;
            user.PhoneNumber = member.PhoneNumber;


            if (ImageUploadValidator.IsWebFriendlyImage(member.Avatar))
            {
                var fileName = Path.GetFileName(member.Avatar.FileName);
                member.Avatar.SaveAs(Path.Combine(Server.MapPath("~/Avatars/"), fileName));
                user.AvatarUrl = "/Avatars/" + fileName;
            }

            db.SaveChanges();

            return(RedirectToAction("Dashboard", "Home"));
        }
示例#14
0
        public async Task <IActionResult> OnGetAsync()
        {
            var currentSignedInUser = _schoolService.GetSignedInUserDetails(HttpContext);

            // user not signed in, can't access profile
            if (currentSignedInUser == null)
            {
                return(RedirectToPage("/Index"));
            }

            // get user info
            var findUser = await _context.Users.FirstOrDefaultAsync(x => x.Email.Equals(currentSignedInUser.Email));

            // load data onto form
            UserData            = new UserProfileViewModel();
            UserData.Id         = findUser.Id;
            UserData.FirstName  = findUser.FirstName;
            UserData.LastName   = findUser.LastName;
            UserData.Email      = findUser.Email;
            UserData.StudentId  = findUser.StudentId;
            UserData.EmployeeId = findUser.EmployeeId;
            return(Page());
        }
示例#15
0
        public ActionResult EditProfile(UserProfileViewModel model, HttpPostedFileBase avatar)
        {
            var userId = User.Identity.GetUserId();
            var user   = db.Users.Find(userId);

            user.DisplayName = model.DisplayName;
            user.FirstName   = model.FirstName;
            user.LastName    = model.LastName;
            user.Email       = model.Email;

            if (avatar != null)
            {
                if (AttachmentUploadValidator.IsWebFriendlyAttachment(avatar))
                {
                    var filename = Path.GetFileName(avatar.FileName);
                    avatar.SaveAs(Path.Combine(Server.MapPath("~/Avatars/"), filename));
                    user.AvatarPath = "/Avatars/" + filename;
                }
            }

            db.SaveChanges();
            return(View());
        }
示例#16
0
        // GET: Specific UserProfile information
        public ActionResult ProfilePage()
        {
            // CREATE: ViewModel using (db.User, db.UserProfile, db.Review)
            var userProfileViewModel = new UserProfileViewModel();

            string userID = GetUserID();

            userProfileViewModel.User        = GetUser(userID);
            userProfileViewModel.UserProfile = GetUserProfile(userID);
            userProfileViewModel.Reviews     = GetReviews(userID);
            userProfileViewModel.Avatar      = GetAvatar(userID);
            userProfileViewModel.CoverPhoto  = GetCoverPhoto(userID);
            userProfileViewModel.Photos      = GetPhotos(userID);

            // NULL userID: 404 error
            if (userID == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            // POST: Send values from allReviews to page for display
            return(View(userProfileViewModel));
        }
        public ActionResult Index(string id, int?profileView)
        {
            var vm = new UserProfileViewModel();

            vm.UserId      = id;
            vm.ProfileView = profileView.HasValue ? profileView.Value : 0;

            var quizzes = _quizService.GetAll().Where(x => x.CreatedBy == id);

            vm.Quizzes = _modelConverter.ToUserQuizzesViewModel(quizzes, id);

            var socialSettings = new SocialSettingsViewModel();

            vm.SocialSettings = socialSettings;

            var userActivities = _userActivityService.GetAll(id);

            vm.UserActivities        = _modelConverter.ToUserActivitiesViewModel(userActivities);
            vm.UserActivities.UserId = id;


            return(View("Index", vm));
        }
示例#18
0
        public void SaveUserProfile_Success()
        {
            var emailModel = new UserEmailModel()
            {
                EmailID = 1, Email = "*****@*****.**", UserEmailID = 1, IsPrimary = true, ForceRollback = true
            };
            var model = new UserProfileViewModel()
            {
                UserID = _userID,
                IsTemporaryPassword = false,
                Emails = new List <UserEmailModel>()
                {
                    emailModel
                },
                Phones        = new List <UserPhoneModel>(),
                Addresses     = new List <UserAddressModel>(),
                ForceRollback = true
            };
            var response = _repository.SaveUserProfile(model, isMyProfile);

            Assert.IsTrue(response != null, "Response can't be null");
            Assert.IsTrue(response.ResultCode == 0, "User profile could not be saved");
        }
示例#19
0
        public void SaveProfile_WhenCalled_UpdateUserProfile()
        {
            _firstUserInDb.Gender = Gender.Male;
            _context.SaveChanges();

            var appUser = new AppUser {
                Gender   = Gender.Female,
                Location = _firstUserInDb.Location + "-",
                Intro    = _firstUserInDb.Intro + "-",
                Id       = _firstUserInDb.Id
            };
            var viewModel = new UserProfileViewModel {
                AppUser = appUser
            };

            _controller.SaveProfile(viewModel);

            _context.Entry(_firstUserInDb).Reload();

            Assert.That(_firstUserInDb.Gender, Is.EqualTo(appUser.Gender));
            Assert.That(_firstUserInDb.Location, Is.EqualTo(appUser.Location));
            Assert.That(_firstUserInDb.Intro, Is.EqualTo(appUser.Intro));
        }
示例#20
0
        private UserProfileViewModel SetUserProfileViewModel()
        {
            UserProfileViewModel model = new UserProfileViewModel();
            var user = UserManager.FindById(User.Identity.GetUserId());

            model.Qs = new List <ChallengeQandAViewModel>();
            foreach (var q in user.UserQuestions)
            {
                model.Qs.Add(new ChallengeQandAViewModel {
                    Q_ID = q.Q_ID, Answer = q.Answer, Question = q.SecurityQuestion.Questions
                });
            }
            model.Organization           = user.Organization;
            model.Email                  = user.Email;
            model.FirstName              = user.FirstName;
            model.LastName               = user.LastName;
            model.JobTitle               = user.JobTitle;
            model.PhoneNumber            = user.PhoneNumber;
            model.PhoneInternationalFlag = user.PhoneInternationalFlag;
            model.HasPassword            = HasPassword();

            return(model);
        }
示例#21
0
        public async Task <IActionResult> OtherUserProfile(String id)
        {
            var user = await _userManager.FindByEmailAsync(id);

            var loggedInUser = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.Name).Value;

            if (user == null)
            {
                return(View("NotfoundUser"));
            }
            else if (user.Email == loggedInUser)
            {
                return(RedirectToAction("Index", "UserProfile"));
            }
            UserProfileViewModel userProfileViewModel = new UserProfileViewModel();

            userProfileViewModel.PageTitle = "Profil użytkownika";

            userProfileViewModel.UserProfiles = _userProfileRepository.GetUserProfileByEmail(id);
            userProfileViewModel.TripAdverts  = _userProfileRepository.GetTripAdvertsByUserId(id);

            return(View(userProfileViewModel));
        }
        public IActionResult Profile(string id)
        {
            try
            {
                UserProfileViewModel model = this.userService.GetUserByIdAsViewModel(id);
                if (model == null)
                {
                    AddWarningNotification(Notifications.NotFound);
                    return(Redirect("/"));
                }
                return(View(model));
            }
            catch (System.Exception e)
            {
                logger.LogError(string.Format(SetLog.Error,
                                              CurrentUser.UserName,
                                              CurrentController,
                                              e.Message));

                AddDangerNotification(string.Format(Notifications.Fail));
                return(Redirect("/"));
            }
        }
示例#23
0
        public async Task InitializeGeoPosition(UserProfileViewModel vm)
        {
            this.userVM = vm;
            try
            {
                geo = new Geolocator();
                geo.DesiredAccuracyInMeters = 100;
                geo.DesiredAccuracy         = Windows.Devices.Geolocation.PositionAccuracy.High;
                geo.PositionChanged        -= geo_PositionChanged;
                geo.PositionChanged        += geo_PositionChanged;

                Geoposition pos = await geo.GetGeopositionAsync();
                await SetLocationDetails(pos, true);
            }
            catch (UnauthorizedAccessException ux)
            {
                HandleGeoAuthException(ux, "Your curren location access denied");
            }
            catch (Exception ex)
            {
                HandleGeoAuthException(ex, "Oops some error has occured");
            }
        }
示例#24
0
        public ActionResult UserProfile(string email)
        {
            if (string.IsNullOrEmpty(email))
            {
                return(NotFound());
            }

            if (Context.IsLoggedIn)
            {
                var user = UserService.GetUser(email);
                if (user == null)
                {
                    return(NotFound());
                }

                var model = UserProfileViewModel.Create(user);
                return(View(model));
            }
            else
            {
                return(RedirectToAction("Login"));
            }
        }
示例#25
0
        public async Task <IActionResult> Edit(int id)
        {
            ViewData["Title"] = "Edit prifile";
            var user = await _appUserRepository.GetUserProfileById(id);

            var viewModel = new UserProfileViewModel
            {
                FirstName           = user.FirstName,
                Sex                 = user.Sex,
                ImagePath           = user.ImagePath,
                CurrentWeight       = user.CurrentWeight,
                DateOfBirth         = user.DateOfBirth,
                DateOfRegisrtration = user.DateOfRegoistration,
                Goal                = user.Goal,
                SecondName          = user.SecondName,
                WeeksForGoal        = user.WeeksForGoal,
                Height              = user.Height,
                Activity            = user.Activity
            };

            ViewData["user"] = id;
            return(View("NewUser", viewModel));
        }
示例#26
0
        public async Task <ActionResult> UserProfile(string username)
        {
            // Get the user
            ForumUser forumUser = await ForumUserManager.FindByUserNameAsync(username);

            User user = forumUser.User;

            // Populate the model
            UserProfileViewModel model = new UserProfileViewModel()
            {
                UserName     = user.UserName,
                Reputation   = forumUser.Reputation,
                Postcount    = forumUser.PostsCount,
                Role         = user.PrimaryRole,
                LastActivity = forumUser.LastActivity,
                JoinDate     = forumUser.JoinDate,
                Country      = user.Country,
                Seniorty     = user.Seniority,
                Image        = ProfilePictureSystem.GetProfilePicture(user.Id),
            };

            return(View(model));
        }
示例#27
0
        public IHttpActionResult Update([FromBody] UserProfileViewModel data)
        {
            return(PerformAction <UserDto>(() =>
            {
                UserDto result = null;

                var ctx = GetPermissionsContext();

                var userDto = _userService
                              .Get(ctx, ctx.CurrentUserId);

                if (userDto != null)
                {
                    userDto = data
                              .ToDto(userDto);

                    result = _userService
                             .Update(userDto);
                }

                return result;
            }));
        }
示例#28
0
        public static UserProfile Update(this UserProfile userProfile, UserProfileViewModel userProfileViewModel)
        {
            userProfile.FirstName   = userProfileViewModel.FirstName;
            userProfile.LastName    = userProfileViewModel.LastName;
            userProfile.Email       = userProfileViewModel.Email;
            userProfile.PhoneNumber = userProfileViewModel.PhoneNumber;
            userProfile.Activated   = userProfileViewModel.Activated;

            if (!userProfileViewModel.CompanyId.IsEmpty())
            {
                var guid = Guid.Parse(userProfileViewModel.CompanyId);
                if (!userProfile.CompanyId.Equals(guid))
                {
                    userProfile.CompanyId = guid;
                }
            }
            else
            {
                userProfile.CompanyId = null;
            }

            return(userProfile);
        }
示例#29
0
        public List<UserProfileViewModel> GetUserCompositions(User user)
        {
            List<UserProfileViewModel> userProfileViewModels = new List<UserProfileViewModel>();
            var compositions= context.Compositions.Where(p => p.UserId == user.Id).Include(x=>x.Tags).Include(t=>t.Chapters).ToList();
            foreach (var item in compositions)
            {
                List<Tag> tags = compositionService.GetTagsForComposition(item);
                UserProfileViewModel userProfileViewModel = new UserProfileViewModel
                {
                    Id=item.Id,
                    Name = item.Name,
                    Description = item.Description,
                    DateOfCreation = item.DateOfCreation,
                    Tags =tags,
                    Genre=item.GenreOfComposition,
                    NumberOfChapters=item.Chapters.Count()

                };
                userProfileViewModels.Add(userProfileViewModel);

            }
            return userProfileViewModels;
        }
示例#30
0
        public bool ChangeProfile(long userId, UserProfileViewModel model)
        {
            //_userProfileViewValidators.Validate(model);

            model.Id = userId;
            var isDuplicateEmail = _accessTokenRepository.CheckDuplicateEmail(model.Id, model.Email);

            if (isDuplicateEmail == true)
            {
                throw _exception.ThrowException(System.Net.HttpStatusCode.BadRequest, "", "Emailadressen är redan registrerad med en annan person.");
            }


            var user = _accessTokenRepository.GetUser(model.Id);

            //user.Email = model.Email;
            user.AreaAddress   = model.AreaAddress;
            user.StreetAddress = model.StreetAddress;
            user.PostalAddress = model.PostalAddress;
            user.CountryId     = model.CountryId;

            return(_userRepository.ChangeUserProfile(user));
        }
示例#31
0
        public ActionResult UserProfile(int id, string pass)
        {
            var user      = new Users();
            var model     = user.GetUser(id);
            var viewModel = new UserProfileViewModel
            {
                Id         = model.Id,
                RoleId     = model.RoleId,
                Name       = model.Name,
                Surname    = model.Surname,
                Address    = model.Address,
                Email      = model.Email,
                UserName   = model.UserName,
                Password   = pass,
                Age        = model.Age,
                Weight     = model.Weight,
                Height     = model.Height,
                Difficulty = model.Difficulty
            };

            model.Password = pass;
            return(View(viewModel));
        }
示例#32
0
        public ActionResult Index(Guid id)
        {
            var visitingUserId = new Guid(User.Identity.GetUserId());

            var views = ApplicationManager.BuildViews();

            var user = views.Users.GetById(id);

            var level        = views.Levels.GetLevel(user.Level);
            var isFollowedBy = user.IsFollowedBy(visitingUserId);

            var model = new UserProfileViewModel()
            {
                User          = user,
                Level         = level,
                LevelProgress = level.GetProgress(user.ExperiencePoints),
                LevelPoints   = level.GetLevelPoints(user.ExperiencePoints),
                IsFollowedBy  = isFollowedBy,
                FollowingText = isFollowedBy ? "Unfollow" : "Follow"
            };

            return(View(model));
        }
示例#33
0
        /// <summary>
        /// Executes the View for UserProfile
        /// </summary>
        public ActionResult UserProfile(string userName)
        {
            var user = this.UserService.GetUserByUserName(userName);

            if (user == null)
            {
                return(this.Issue404());
            }

            var userProfileViewModel = new UserProfileViewModel();

            userProfileViewModel.UserSummary = Mapper.Map(user, new UserSummary());

            // Check if active user follows this user
            if (this.ActiveUser != null)
            {
                ViewBag.UserIsFollowed = this.UserService.UserIsFollowedBy(user.UserId, this.ActiveUser.UserId);
            }

            // Recipes
            userProfileViewModel.Recipes = this.RecipeService.GetUserRecipes(user.UserId)
                                           .Where(x => x.IsPublic)
                                           .ToList();

            // Brew Summaries
            userProfileViewModel.BrewSessionSummaries = this.RecipeService.GetUserBrewSessions(user.UserId)
                                                        .OrderByDescending(x => x.BrewDate)
                                                        .ToList();

            // Followers
            userProfileViewModel.Followers = this.UserService.GetFollowersOf(user.UserId);

            // Followed
            userProfileViewModel.Follows = this.UserService.GetFollowedBy(user.UserId);

            return(View(userProfileViewModel));
        }
示例#34
0
        public async Task <ActionResult> PlayPrevTrack()
        {
            try
            {
                var tokenGiven = _cookiesManager.GetCookie("TokenGiven", Request);
                var tokenTimes = _cookiesManager.GetCookie("TokenTime", Request);

                if (tokenGiven != null && tokenTimes != null)
                {
                    if (ApiClientConfig.IsIfTokenExpired(Convert.ToDateTime(tokenTimes.Value), tokenGiven.Value))
                    {
                        return(RedirectToAction("LoginUser"));
                    }
                }
                else
                {
                    return(RedirectToAction("LoginUser"));
                }

                client = ApiClientConfig.GetClientInstance(tokenGiven.Value);

                var trySkipPrev = await _playerRepo.SkipPreviousItem(client);

                var modelValues = await GetPrivateUserDefaultModel(client);


                var m = trySkipPrev;
                _model = modelValues;

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);
                return(View(ERROR_MESSAGE_PATH));
            }
        }
示例#35
0
        public BaseResponse <UserProfileViewModel> GetProfileData(string userToken)
        {
            if (string.IsNullOrEmpty(userToken))
            {
                return new BaseResponse <UserProfileViewModel> {
                           Success = false, Message = "User token not sent"
                }
            }
            ;
            var user = UserService.GetUser(userToken);

            var postIDs      = PostService.GetPostIDsByUserID(user.UserID);
            var interactions = InteractionService.GetByPostIDList(postIDs);

            // TODO - Melhorar isso. Aí vai considerar apenas os posts que tem mais interações, entretanto, talvez melhor seria ordenar pelos
            // que tem mais comentários e depois pelos que tem mais likes. Likes sempre vão ser mais numerosos, então vai acabar aí sempre retornando os com mais likes
            var bestPostsInteractions = interactions
                                        .GroupBy(i => i.PostID)
                                        .OrderByDescending(g => g.Count())
                                        .SelectMany(g => g)
                                        .Take(3)
                                        .ToList();

            var bestPosts = PostService.GetPostToProfileScreen(bestPostsInteractions.Select(i => i.PostID).ToList());

            var result = new UserProfileViewModel
            {
                Avatar       = user.Avatar,
                Username     = user.Username,
                PostCount    = postIDs.Count,
                CommentCount = interactions.Where(i => i.IsComment).Count(),
                LikeCount    = interactions.Where(i => i.IsLike).Count(),
                BestPosts    = bestPosts
            };

            return(null);
        }
示例#36
0
        public View_UserProfile(UserModel user)
        {
            InitializeComponent();
            UserProfileViewModel upb = new UserProfileViewModel(user);

            BindingContext = upb;
            if (user.Type == 0)
            {
                contentPage.ToolbarItems.Add(new ToolbarItem()
                {
                    Order   = ToolbarItemOrder.Secondary,
                    Text    = "Establecer como adminsitrador",
                    Command = upb.SetAdminCommand
                });
            }
            else if (user.Type == 1)
            {
                contentPage.ToolbarItems.Add(new ToolbarItem()
                {
                    Order   = ToolbarItemOrder.Secondary,
                    Text    = "Remover Administrador",
                    Command = upb.RemoveAdminCommand
                });
            }

            if (user.Type != 2)
            {
                contentPage.ToolbarItems.Add(new ToolbarItem()
                {
                    Order   = ToolbarItemOrder.Secondary,
                    Text    = "Expulsar de la OTB",
                    Command = upb.RemoveOTBCommand
                });
            }

            aux = 0;
        }
        public ActionResult Flair(int id)
        {
            var user = _accountService.GetUserById(id);
            if (user == null)
                throw new FileNotFoundException();

            var userVM = new UserProfileViewModel(user, _authenticationService.CurrentUserId, null);
            ViewBag.CurrentUserId = userVM.UserId;
            ViewBag.CurrentUsername = userVM.UserName;

            return View();
        }
示例#38
0
 public ActionResult UserProfile()
 {
     if((bool) HttpContext.Session["isAdmin"])
     {
         return RedirectToAction("UserProfile", "Admin");
     }
     int curUserId = (int)HttpContext.Session["UserId"];
     User user = db.Users.Find(curUserId);
     UserProfileViewModel userProfile = new UserProfileViewModel() {
         Address = user.Address,
         BloodGroup = user.BloodGroup,
         CitizenShipNumber = user.CitizenShipNumber,
         DateOfBirth = user.DateOfBirth,
         Email = user.Email,
         UserName = user.UserName,
         Name = user.FirstName + " "+ ((string.IsNullOrWhiteSpace(user.MiddleName))?" ":(user.MiddleName+" ")) + user.LastName,
         Nationality = user.Nationality,
         PhoneNumber = user.PhoneNumber,
         Religion = user.PhoneNumber,
         Sex = user.Sex,
         ImageFile = user.ImageFile,
     };
     return View(userProfile);
 }
 public ActionResult FlairDetail(int id, int? width)
 {
     width = width ?? 220;
     width = Math.Max(width.Value, 220);
     var user = _accountService.GetUserById(id);
     var vm = new UserProfileViewModel(user, id, null);
     ViewBag.Width = width;
     return View(vm);
 }