Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
 private User UserForChangePassword(string password)
 {
     return(_context.User.FirstOrDefault(user => user.Id == ClaimsExtension.GetUserId(HttpContext) && user.Password == Models.User.HashPassword(password)));
 }