public ActionResult Create(RenterViewModel personedit)
        {
            var myContext = new Models.UsersContext();
            personedit.ModelObject.CreateUser = myContext.GetUserID(Csla.ApplicationContext.User.Identity.Name);

            if (personedit.Save(ModelState, false))
            {
                return RedirectToAction("Index", new { id = personedit.ModelObject.RenterID });
            }
            else
            {
                ViewData.Model = personedit;
                return View();
            }

            //try
            //{
            //    if (SaveObject(personedit, false))
            //    return RedirectToAction("Index", new { id = personedit.RenterID });
            //else
            //    return View();
            //}
            //catch
            //{
            //    return View();
            //}
        }
Example #2
0
        //public async Task<IActionResult> Create([Bind("Id,FirstName,LastName,UserId")] Renter renter)
        //Above is original code.  A.Sanchez: Using simpler method from trashcollector, let me know if you have questions
        public async Task <IActionResult> Create(RenterViewModel renterViewModel)
        {
            if (ModelState.IsValid)
            {
                //string uniqueFileName = UploadedFile(renterViewModel);
                //junction table created: UserPreferences
                var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
                var renter = renterViewModel.Renter;
                var value  = renterViewModel.Value; //Only holds an int, but the code was trying to use it as a collection in the for loop below
                renter.UserId = userId;
                // renter.ProfileUrl = uniqueFileName;
                _context.Renters.Add(renter);
                for (int i = 0; i < 9; i++)
                {
                    var newPreferences = new UserPreferences();
                    newPreferences.PreferenceId = i + 1;
                    newPreferences.UserId       = userId;
                    newPreferences.Value        = value[i];
                    _context.UserPreferences.Add(newPreferences);
                }

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            //ViewData["UserId"] = new SelectList(_context.Users, "Id", "Id", renter.UserId);
            return(View(renterViewModel));
        }
Example #3
0
        // GET: Renters
        public IActionResult Index()
        {
            var viewModel = new RenterViewModel();
            var userId    = this.User.FindFirstValue(ClaimTypes.NameIdentifier);

            var renter = _context.Renters.FirstOrDefault(a => a.UserId == userId);

            if (renter is null)
            {
                return(RedirectToAction("Create"));
            }
            viewModel.Renter = renter;
            var leaseholders = _context.Leaseholders
                               .Include(l => l.Property)
                               .Include(l => l.Property.Address)
                               .ToList();

            ////leaseholders = leaseholders.Where( l => l.Property.Address.City == )
            viewModel.Leaseholders = leaseholders;

            //Commented out the leaseholders Include statements because I have the same thing in the algorithm, and I think it's better there
            viewModel.Leaseholders = MatchUsers(renter, "Milwaukee");

            return(View(viewModel));
        }
Example #4
0
        // GET: Renters/Details/5
        public IActionResult Details(int?id)
        {
            var viewModel = new RenterViewModel();
            var userId    = this.User.FindFirstValue(ClaimTypes.NameIdentifier);

            viewModel.Leaseholder = _context.Leaseholders
                                    .Include(l => l.Property)
                                    .Include(l => l.Property.Address)
                                    .FirstOrDefault(l => l.Id == id);
            viewModel.UserPreferences = _context.UserPreferences.Include(u => u.PreferenceName).Where(u => u.UserId == userId).ToList();


            return(View(viewModel));
        }
Example #5
0
        private string UploadedFile(RenterViewModel viewModel)
        {
            string uniqueFileName = null;

            if (viewModel.ProfileUrl != null)
            {
                string uploadsFolder = Path.Combine(webHostEnvironment.WebRootPath, "img");
                uniqueFileName = Guid.NewGuid().ToString() + "_" + viewModel.ProfileUrl.FileName;
                string FilePath = Path.Combine(uploadsFolder, uniqueFileName);
                using (var fileStream = new FileStream(FilePath, FileMode.Create))
                {
                    viewModel.ProfileUrl.CopyTo(fileStream);
                }
            }
            return(uniqueFileName);
        }