Exemplo n.º 1
0
        public List <Leaseholder> MatchUsers(Renter renter, string City) //This means we'll have to have both a renter and a Zip passed into this method
        {
            var leaseholders = _context.Leaseholders.Include(l => l.Property).Include(l => l.Property.Address).ToList().Where(l => l.Property.Address.City == City).ToList();
            List <Leaseholder> finalLeaseholders = new List <Leaseholder>();
            List <int[, ]>     tempLeaseholders  = new List <int[, ]>();
            int leaseholderValue = 0;
            var rPrefs           = _context.UserPreferences.Where(u => u.UserId == renter.UserId).ToList();

            //I think that's right

            for (int i = 0; i < leaseholders.Count; i++)
            {
                var lPrefs = _context.UserPreferences.Where(u => u.UserId == leaseholders[i].UserId).ToList();
                int[,] holder_score = new int[1, 2];

                for (int j = 0; j < 9; j++)
                {
                    var lPrefsValue = lPrefs[j].Value;
                    var rPrefsValue = rPrefs[j].Value;

                    leaseholderValue += Math.Abs(lPrefsValue - rPrefsValue);
                }
                //Adding a copy of the first along with its second iteration
                holder_score[0, 0] = leaseholderValue;
                holder_score[0, 1] = leaseholders[i].Id;
                tempLeaseholders.Add(holder_score);
            }

            finalLeaseholders = SortLeaseholders(tempLeaseholders);
            return(finalLeaseholders);
            //Might want to return a list or IQueryable of leaseholders. Or RedirectToAction("Index", IQueryable<Leaseholder>)
            //or something similar
        }
        // GET: Renters/Details/5
        public ActionResult Details(int id)
        {
            Renter renter = context.Renters.Where(r => r.RenterId == id).FirstOrDefault();


            return(View(renter));
        }
Exemplo n.º 3
0
        public async Task <IResponseModel> AddRenterAsync(IRenterModel model)
        {
            try
            {
                var renter = new Renter
                {
                    Id         = Guid.NewGuid(),
                    Name       = model.Name,
                    ContactNo  = model.ContactNo,
                    Address    = model.Address,
                    Profession = model.Profession,
                    PropertyId = model.PropertyId
                };

                _db.Renter.Add(renter);
                await _db.SaveChangesAsync();

                _response.Status  = true;
                _response.Message = "New renter added.";

                return(_response);
            }
            catch (Exception ex)
            {
                _loggerService.Log("Add Renter", ex.InnerException.Message, ex.Message, ex.StackTrace);

                _response.Status  = false;
                _response.Message = "Error adding renter.";

                return(_response);
            }
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,FirstName,LastName,UserId")] Renter renter)
        {
            if (id != renter.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(renter);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!RenterExists(renter.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["UserId"] = new SelectList(_context.Users, "Id", "Id", renter.UserId);
            return(View(renter));
        }
Exemplo n.º 5
0
        public IActionResult PlaceJoin(JoinModel newRenter)
        {
            if (!_rentcard.checkCardId(newRenter.CardID))
            {
                var renter = new Renter
                {
                    FirstName = newRenter.FirstName,
                    LastName  = newRenter.LastName,
                    Email     = newRenter.Email,
                    Address   = newRenter.Address,
                    Telephone = newRenter.Telephone,
                };
                _renter.Add(renter);

                var rentcard = new RentCard
                {
                    CardId = newRenter.CardID
                };
                _rentcard.Add(rentcard);

                _renter.linkRC(renter, rentcard);

                return(RedirectToAction("Detail", new { cardId = newRenter.CardID }));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
Exemplo n.º 6
0
        public async Task <IActionResult> Edit(int id, [Bind("id,CreditScore,Lease,Month2Month,FamilyLetter,insertionDate,Creator")] Renter renter)
        {
            if (id != renter.id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(renter);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!RenterExists(renter.id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(renter));
        }
        public async Task UpdateRenterAsync(Renter theRenter)
        {
            try
            {
                await Connection.OpenAsync();

                var aCommand = new NpgsqlCommand(
                    "UPDATE renter SET firstname = :value1, lastname = :value2, address = :value3, city = :value4, state = :value5, postalcode = :value6, country = :value7, licensenumber = :value8, licensestate = :value9, customerid = :value10, paymentinfo = :value11, insuranceinfo = :value12 where id=:value13;", Connection);
                aCommand.Parameters.AddWithValue("value1", theRenter.FirstName);
                aCommand.Parameters.AddWithValue("value2", theRenter.LastName);
                aCommand.Parameters.AddWithValue("value3", theRenter.Address);
                aCommand.Parameters.AddWithValue("value4", theRenter.City);
                aCommand.Parameters.AddWithValue("value5", theRenter.State);
                aCommand.Parameters.AddWithValue("value6", theRenter.PostalCode);
                aCommand.Parameters.AddWithValue("value7", theRenter.Country);
                aCommand.Parameters.AddWithValue("value8", theRenter.LicenseNumber);
                aCommand.Parameters.AddWithValue("value9", theRenter.LicenseState);
                aCommand.Parameters.AddWithValue("value10", theRenter.CustomerId);
                aCommand.Parameters.AddWithValue("value11", theRenter.PaymentInfo);
                aCommand.Parameters.AddWithValue("value12", theRenter.InsuranceInfo);
                aCommand.Parameters.AddWithValue("value13", theRenter.Id);

                await aCommand.ExecuteNonQueryAsync();
            }
            // no catch here, this is a reference project
            // TODO: add catch and actions here
            finally
            {
                if (Connection.State == ConnectionState.Open)
                {
                    Connection.Close();
                }
            }
        }
        public async Task <ActionResult> Create(Renter renter)
        {
            try
            {
                // TODO: Add insert logic here
                context.Renters.Add(renter);
                string requesturl  = "https://maps.googleapis.com/maps/api/geocode/json?address=";
                string userAddress = System.Web.HttpUtility.UrlEncode(
                    renter.StreetAddress + " " +
                    renter.City + " " +
                    renter.StateCode + " " +
                    renter.ZipCode);
                string     apiKey   = APIKeys.GeoCodeApi;
                HttpClient client   = new HttpClient();
                var        response = await client.GetStringAsync(requesturl + userAddress + apiKey);

                JObject map = JObject.Parse(response);
                renter.Lat = (float)map["results"][0]["geometry"]["location"]["lat"];
                renter.Lng = (float)map["results"][0]["geometry"]["location"]["lng"];
                string id = User.Identity.GetUserId();
                renter.ApplicationId = id;
                context.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }
            catch
            {
                return(View());
            }
        }
Exemplo n.º 9
0
        public async Task <ActionResult <Renter> > PostRenter(Renter renter)
        {
            _context.Renters.Add(renter);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetRenter", new { id = renter.Id }, renter));
        }
Exemplo n.º 10
0
        internal async Task <bool> CreateRenter(RenterCreateModel renterCreateModel)
        {
            Renter renter = CreateRenterObjectFromRenterCreateModel(renterCreateModel);

            this.renterRepository.AddRenter(renter);
            return(await this.renterRepository.SaveChangesAsync());
        }
Exemplo n.º 11
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,password,FirstName,LastName,Phone,Mail,Username")] Renter renter)
        {
            if (id != renter.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(renter);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!RenterExists(renter.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(renter));
        }
Exemplo n.º 12
0
        public async Task <IActionResult> Register([FromBody] RegisterModel model)
        {
            string userType = model.UserType.ToString();

            if (!(await _roleManager.RoleExistsAsync(userType)))
            {
                await _roleManager.CreateAsync(new IdentityRole(userType));
            }
            var userExist = await _userManager.FindByNameAsync(model.UserName);

            if (userExist != null)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, new Response {
                    Status = "Error", Message = "User already exists"
                }));
            }

            User user = new User()
            {
                UserName      = model.UserName,
                Email         = model.Email,
                SecurityStamp = Guid.NewGuid().ToString(),
            };

            var result = await _userManager.CreateAsync(user, model.Password);

            if (!result.Succeeded)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, new Response {
                    Status = "Error", Message = "User creation has failed"
                }));
            }

            await _userManager.AddToRoleAsync(await _userManager.FindByNameAsync(model.UserName), userType);

            Profile profile = new Profile
            {
                Id        = Guid.NewGuid().ToString(),
                FirstName = model.FirstName,
                LastName  = model.LastName,
                User      = await _userManager.FindByNameAsync(model.UserName),
                Address   = null
            };

            _context.Profiles.Add(profile);
            await _context.SaveChangesAsync();

            if (model.UserType == UserTypes.Renter)
            {
                Renter renter = new Renter {
                    Id = Guid.NewGuid().ToString(), Profile = profile
                };

                _context.Renters.Add(renter);
                await _context.SaveChangesAsync();
            }
            return(Ok(new Response {
                Status = "Success", Message = "Succesfully created the user"
            }));
        }
Exemplo n.º 13
0
        public async Task <IActionResult> PutRenter(string id, Renter renter)
        {
            if (id != renter.Id)
            {
                return(BadRequest());
            }

            _context.Entry(renter).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RenterExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 14
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Name,PhoneNumber,Email,CompactDiscId,RentalDate")] Renter renter)
        {
            if (id != renter.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(renter);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!RenterExists(renter.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CompactDiscId"] = new SelectList(_context.CompactDisc.Where(cd => cd.Renter == null), "Id", "Name", renter.CompactDiscId);
            return(View(renter));
        }
Exemplo n.º 15
0
        private Player GetPlayer(bool makeNew = false)
        {
            if (!User.IsSignedIn())
            {
                return(null);
            }
            var    userId = User.GetUserId();
            Player player;

            if (_context.Players.Any() && !makeNew)
            {
                try
                {
                    player = _context.Players.First(m => m.UserId == userId);
                }
                catch
                {
                    return(GetPlayer(true));
                }
            }
            else
            {
                var user = GetUser().Result;
                player = Player.GeneratePlayer(user);
                _context.Players.Add(player);
                _context.SaveChanges();
                player = GetPlayer();
                _context.Homes.AddRange(Home.GenerateHomes(player.PlayerId));
                _context.Renters.AddRange(Renter.GenerateRenters(player.PlayerId));
                _context.SaveChanges();
            }
            player.context = _context;
            return(player);
        }
Exemplo n.º 16
0
        public IActionResult createPassword(string Email, string password, string PasswordRepeat)
        {
            Renter renter = db.Renter.Where(r => r.Email == Email).FirstOrDefault();

            if (renter != null || renter.Active == true)
            {
                if (password == PasswordRepeat)
                {
                    renter.Password = password;
                    renter.Active   = true;

                    db.SaveChanges();

                    Renter renterSession = db.Renter.Where(r => r.Email == Email).First();
                    HttpContext.Session.Set <Renter>("RenterSession", renterSession);

                    return(RedirectToAction("Department"));
                }
                else
                {
                    return(RedirectToAction("SetPassword"));
                }
            }
            else
            {
                return(RedirectToAction("SetPassword"));
            }
        }
Exemplo n.º 17
0
        public IActionResult CheckLogin(string email, string password)
        {
            Renter renterCheck = db.Renter.Where(renter => renter.Email == email).FirstOrDefault();

            if (renterCheck != null)
            {
                if (renterCheck.Password == password)
                {
                    if (renterCheck.Active == true)
                    {
                        HttpContext.Session.Set <Renter>("RenterSession", renterCheck);
                        return(RedirectToAction("Department"));
                    }
                    else
                    {
                        return(RedirectToAction("SetPassword"));
                    }
                }
                else
                {
                    return(RedirectToAction("Login"));
                }
            }
            else
            {
                return(RedirectToAction("Login"));
            }
        }
Exemplo n.º 18
0
        static void Main(string[] args)
        {
            ICar car = Renter.Rent(180);

            Console.WriteLine("mi hanno dato una " + car.Model());
            Console.ReadKey();
        }
        public ActionResult UnRentItem()
        {
            string      appId  = User.Identity.GetUserId();
            Leasor      leasor = context.Leasors.Where(r => r.ApplicationId == appId).FirstOrDefault();
            List <Item> items  = context.Items.Where(i => i.LeasorId == leasor.LeasorId).ToList();

            foreach (Item item in items)
            {
                if (DateTime.Now >= item.EndDate)
                {
                    Renter renter = context.Renters.Where(r => r.RenterId == item.RenterId).FirstOrDefault();
                    item.Availability = true;
                    item.StartDate    = null;
                    item.EndDate      = null;
                    item.RenterId     = null;
                    RatingQueue ratingQueue = new RatingQueue();
                    ratingQueue.LeasorId = leasor.LeasorId;
                    ratingQueue.RenterId = renter.RenterId;
                    context.RatingQueues.Add(ratingQueue);
                    context.SaveChanges();
                    sendText.SendSMSToRenterForRentPeriodEnding(renter);
                    //RedirectToAction("Create", "Ratings", rating);
                }
            }
            return(RedirectToAction("Index", "Home"));
        }
Exemplo n.º 20
0
        private void renterLibNumber_LostFocus(object sender, RoutedEventArgs e)
        {
            readDataFlag = false;

            Keyboard.RemoveKeyDownHandler(renterLibNumber, keyDownHandler);
            Keyboard.RemoveKeyUpHandler(renterLibNumber, keyUpHandler);

            if (cardDataReader.CardInfo == null)
            {
                return;
            }

            libNumber = cardDataReader.CardInfo.LibraryNumber;

            renter = renters.getRenterByLibraryNumber(libNumber);

            if (renter == null)
            {
                infoWindow = new InformationWindow("Unrecognized Library Number");

                infoWindow.setInfoText("A renter with the library number:\n" + libNumber + "\nwas not found");
                infoWindow.ShowDialog();

                renterLibNumber.Text = libNumber;

                return;
            }

            renterName.Text      = renter.FullName;
            renterLibNumber.Text = renter.LibraryNumber;
            renterEmail.Text     = renter.CpEmail;
        }
Exemplo n.º 21
0
        private void renterEmail_LostFocus(object sender, RoutedEventArgs e)
        {
            TextBox sent = sender as TextBox;

            if (string.IsNullOrEmpty(sent.Text))
            {
                return;
            }

            Renter renter = renters.getRenterByEmail(sent.Text);

            if (renter == null)
            {
                infoWindow = new InformationWindow("Unrecognized Cal Poly Email");

                infoWindow.setInfoText("A renter with the email:\n" + libNumber + "\nwas not found");
                infoWindow.ShowDialog();

                return;
            }

            renterName.Text      = renter.FullName;
            renterLibNumber.Text = renter.LibraryNumber;
            renterEmail.Text     = renter.CpEmail;
        }
 public ActionResult RenterRegister(RenterRegisterModel model)
 {
     if (ModelState.IsValid)
     {
         MembershipCreateStatus createStatus;
         Membership.CreateUser(model.Username, model.Password, model.Email, "question", "answer", true, out createStatus);
         if (createStatus == MembershipCreateStatus.Success)
         {
             FormsAuthentication.SetAuthCookie(model.Username, false);
             Roles.AddUserToRole(model.Username, "Renter");
             Renter renter = new Renter {
                 renter_id = Guid.Parse(Membership.GetUser(model.Username).ProviderUserKey.ToString()), email = model.Email,
                 name      = model.Username, password = model.Password
             };
             db.Renters.Add(renter);
             db.SaveChanges();
             return(RedirectToAction("Index", "Home"));
         }
         else
         {
             ModelState.AddModelError("", ErrorCodeToString(createStatus));
         }
     }
     return(View(model));
 }
Exemplo n.º 23
0
        public IActionResult UpdateUserInfo()
        {
            Renter RenterSession = HttpContext.Session.Get <Renter>("RenterSession");

            this.ViewBag.User = RenterSession;
            return(View());
        }
        public ActionResult GetAllRentedItems()
        {
            string      appId  = User.Identity.GetUserId();
            Renter      renter = context.Renters.Where(r => r.ApplicationId == appId).FirstOrDefault();
            List <Item> items  = context.Items.Where(i => i.RenterId == renter.RenterId).ToList();

            return(View(items));
        }
Exemplo n.º 25
0
        public void ChangePaymentTicket(bool value)
        {
            Renter RenterSession = HttpContext.Session.Get <Renter>("RenterSession");
            Renter UserUpdate    = db.Renter.Where(r => r.Id == RenterSession.Id).First();

            UserUpdate.PaymentTicket = value;
            db.SaveChanges();
        }
Exemplo n.º 26
0
        public void ChangeAlertFeeOverdue(bool value)
        {
            Renter RenterSession = HttpContext.Session.Get <Renter>("RenterSession");
            Renter UserUpdate    = db.Renter.Where(r => r.Id == RenterSession.Id).First();

            UserUpdate.FeeOverdueAlert = value;
            db.SaveChanges();
        }
Exemplo n.º 27
0
        public void ChangeTheme(bool theme)
        {
            Renter RenterSession = HttpContext.Session.Get <Renter>("RenterSession");
            Renter UserUpdate    = db.Renter.Where(r => r.Id == RenterSession.Id).First();

            UserUpdate.Theme = theme;
            db.SaveChanges();
        }
Exemplo n.º 28
0
        public ActionResult DeleteConfirmed(Guid id)
        {
            Renter renter = db.Renters.Find(id);

            db.Renters.Remove(renter);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 29
0
        public IActionResult Settings()
        {
            Renter RenterSession = HttpContext.Session.Get <Renter>("RenterSession");
            Renter User          = db.Renter.Where(r => r.Id == RenterSession.Id).First();

            this.ViewBag.User = User;
            return(View());
        }
Exemplo n.º 30
0
 private bool IsValid(Renter renter, out string message)
 {
     if (string.IsNullOrWhiteSpace(renter.Name))
     {
         message = "Alle felter skal udfyldes";
         return(false);
     }
     message = $"{renter.Name} er oprettet";
     return(true);
 }