public ActionResult Profile(string username) { string sessionId = this.Request.Cookies.Get("sessionId")?.Value; if (!AuthenticationManager.IsAuthenticated(sessionId)) { return(this.RedirectToAction("Login", "Users")); } User user = AuthenticationManager.GetAuthenticatedUser(sessionId); if (string.IsNullOrEmpty(username)) { ProfilePageVm loggedUserVm = this.service.GetProfilePage(user.Username, user.Username); if (loggedUserVm == null) { return(new HttpNotFoundResult()); } return(this.View("MyProfile", loggedUserVm)); } ProfilePageVm vm = this.service.GetProfilePage(username, user.Username); return(this.View(vm)); }
public ProfilePageVm GetProfilePage(string wantedUsername, string currentUsername) { User user = this.Context.Users.First(user1 => user1.Username == wantedUsername); if (user == null) { return(null); } ProfilePageVm page = new ProfilePageVm(); page.Username = wantedUsername; page.Email = user.Email; page.InStockCameras = user.Cameras.Count(camera => camera.Quantity > 0); page.OutOfStockCameras = user.Cameras.Count(camera => camera.Quantity == 0); page.Phone = user.Phone; page.Id = user.Id; if (currentUsername == wantedUsername) { page.Id = 0; } page.Cameras = Mapper.Map <IEnumerable <Camera>, IEnumerable <AllCamerasVm> >(user.Cameras); return(page); }