public async Task <IActionResult> Index(int?id) { User user = null; if (id.HasValue) { user = await _context.User .FirstOrDefaultAsync(m => m.Id == id.Value); } else { user = await _context.User .FirstOrDefaultAsync(m => m.Id == ClaimsExtension.GetUserId(HttpContext)); } ViewData["MyProjects"] = _context.Project.Where(proj => proj.OwnerId == user.Id && !proj.IsDeleted).ToList(); ViewData["PurchasedProjects"] = _context.Sale.Where(sale => sale.BuyerId == user.Id).Include(sale => sale.Project).ToList(); if (user == null) { return(NotFound()); } ViewData["is_owner"] = user.Id == ClaimsExtension.GetUserId(HttpContext); return(View(user)); }
public IActionResult Buy(int id) { int userId = ClaimsExtension.GetUserId(HttpContext); var project = _context.Project .Include(x => x.AcademicInstitute) .Include(x => x.FieldOfStudy) .Include(x => x.Owner) .FirstOrDefault(m => m.Id == id); if (project == null) { return(NotFound()); } var user = _context.User.Find(userId); if (user == null) { return(NotFound()); } Sale sale = new Sale(); sale.Buyer = user; sale.Project = project; sale.Price = project.Price; _context.Add(sale); _context.SaveChanges(); return(View(sale)); }
public IActionResult Edit() { var currentUser = _context.User.Find(ClaimsExtension.GetUserId(HttpContext)); var currentDetails = new UpdateAccountDetails() { EMail = currentUser.EMail, FirstName = currentUser.FirstName, LastName = currentUser.LastName }; return(View(currentDetails)); }
public async Task <IActionResult> Create([Bind("Id,Name,Description,FieldOfStudyId,AcademicInstituteId,Address")] Project project) { int userId = ClaimsExtension.GetUserId(HttpContext); // No user id redirect to login if (userId < 0) { return(RedirectToAction("Login", "Account")); } project.OwnerId = userId; if (ModelState.IsValid) { _context.Add(project); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(project)); }
public IActionResult Edit([Bind("FirstName,LastName,EMail")] UpdateAccountDetails updateAccountDetails) { try { if (ModelState.IsValid) { var currentUser = _context.User.Find(ClaimsExtension.GetUserId(HttpContext)); currentUser.EMail = updateAccountDetails.EMail; currentUser.FirstName = updateAccountDetails.FirstName; currentUser.LastName = updateAccountDetails.LastName; _context.Update(currentUser); _context.SaveChanges(); return(RedirectToAction("Index")); } } catch (Exception) { ModelState.AddModelError(string.Empty, "שגיאה התרחשה בעת עדכון הפרטים האישיים"); } return(View(updateAccountDetails)); }
private User UserForChangePassword(string password) { return(_context.User.FirstOrDefault(user => user.Id == ClaimsExtension.GetUserId(HttpContext) && user.Password == Models.User.HashPassword(password))); }