public ActionResult AddApartment() { string message = Translation.Translation.AccessIsDeniedMessage; User authenticatedUser = _userRepository.GetUserByPhone(User.Identity.Name); if (authenticatedUser != null) { if (authenticatedUser.Apartments.Count < authenticatedUser.Profile.MaxAnnouncements) { ApartmentAnnouncement apartment = new ApartmentAnnouncement(); apartment.User = authenticatedUser; _announcementRepository.Add(apartment); _announcementRepository.SaveChanges(); return(RedirectToAction("EditApartment", new { id = apartment.AnnouncementID })); } else { message = Translation.Translation.ProfileAnnouncementsLimitMessage; } } TempData["message"] = message; return(RedirectToAction("Announcements", new { phone = User.Identity.Name })); }
public ActionResult EditApartment(ApartmentAnnouncement apartment) { User authenticatedUser = _userRepository.GetUserByPhone(User.Identity.Name); string errormessage = Translation.Translation.InvalidAnnouncementMessage; if (ModelState.IsValid) { if (apartment.Address.HasValue) { if (saveAnnouncement(apartment, authenticatedUser)) { TempData["message"] = string.Format(Translation.Translation.CabinetDataSavedMessage); return(RedirectToAction("Announcements", new { phone = authenticatedUser.Phone })); } else { throw new Exception(Translation.Translation.AccessIsDeniedMessage); } } else { errormessage = Translation.Translation.InvalidAddressMessage; } } ViewBag.User = authenticatedUser; ModelState.AddModelError("", errormessage); return(View(apartment)); }
public ApartmentAnnouncement FindApartment(string street, int userId, int floor, Square square) { ApartmentAnnouncement apartment = null; IQueryable <ApartmentAnnouncement> apartments = SearchFor(an => isApartmentValid(an, street, userId, floor, square)).Select(an => an as ApartmentAnnouncement); apartment = apartments.FirstOrDefault(); return(apartment); }
private bool isApartmentValid(Announcement announcement, string street, int userId, int floor, Square square) { bool res = false; ApartmentAnnouncement apartment = announcement as ApartmentAnnouncement; if (apartment != null) { res = ((apartment.Address.Street == street) && (apartment.Floor == floor) && (apartment.LivingSquare.Value == square.Value) && (apartment.UserID == userId)); } return(res); }
private Announcement createAnnouncement(int j, User user) { Announcement an = null; if (j % 3 == 0) { ApartmentAnnouncement apartment = new ApartmentAnnouncement(); apartment.Balcony = PresentTypeValue.Present; apartment.Floor = j; apartment.MaxFloor = j * 3; apartment.RoomsNumber = j % 4; apartment.TotalSquare = new Square() { Value = j % 100, Unit = SquareUnit.SquareMeters }; an = apartment; } else { if (j % 3 == 1) { HouseAnnouncement house = new HouseAnnouncement(); house.TotalSquare = new Square() { Value = j % 20, Unit = SquareUnit.Are }; an = house; } else { LandAnnouncement land = new LandAnnouncement(); land.TotalSquare = new Square() { Value = j % 20, Unit = SquareUnit.Are }; an = land; } } an.Type = AnnouncementType.Buy; an.Currency = Currency.Hryvna; an.Price = j * 1000; an.IsVisible = true; an.Sold = false; an.User = user; an.Address.AddressType = AddressType.City; an.Address.AdministrativeArea = j.ToString(); an.Address.LocalityName = j.ToString(); an.Address.District = j.ToString(); an.Address.Street = j.ToString(); return(an); }
public override string GetHtmlDescription() { ApartmentAnnouncement apartment = Announcement as ApartmentAnnouncement; string description = string.Empty; if (apartment != null) { description = string.Format("{0}: {1}<br/>", Translation.Translation.ApartmentDetailsPageRoomsCountLabel, apartment.RoomsNumber); description += string.Format("{0}: {1} {2}<br/>", Translation.Translation.ApartmentDetailsPageSquareLabel, apartment.TotalSquare.Value, EnumsToSelectedListItems.GetTextFromEnumValue(apartment.TotalSquare.Unit)); description += string.Format("{0}: {1} {2}<br/>", Translation.Translation.ApartmentDetailsPagePriceLabel, apartment.Price, EnumsToSelectedListItems.GetTextFromEnumValue(apartment.Currency)); } return(Translation.Translation.ApartmentAnnouncementLabel + " " + base.GetHtmlDescription() + "<br/>" + description); }
public void SetPhone(ApartmentAnnouncement apartment, string phone) { User user = _userRepository.GetUserByPhone(phone); if (user == null) { user = new User() { Phone = phone }; _userRepository.Add(user); _userRepository.SaveChanges(); } apartment.User = user; }
public ActionResult EditApartment(int id) { ApartmentAnnouncement apartment = _announcementRepository.GetById(id) as ApartmentAnnouncement; User authenticatedUser = _userRepository.GetUserByPhone(User.Identity.Name); if (authenticatedUser == apartment.User) { ViewBag.User = authenticatedUser; return(View(apartment)); } else { throw new Exception(Translation.Translation.AccessIsDeniedMessage); } }
private ApartmentAnnouncement FindApartment(ApartmentAnnouncement apartment) { ApartmentAnnouncement res = null; if (apartment.Address != null) { User user = _userRepository.GetUserByPhone(apartment.User.Phone); Address address = GetAddressFromStreetName(apartment.Address.Street); if ((user != null) && (address != null)) { res = _apartmentRepository.FindApartment(address.Street, user.UserID, apartment.Floor, apartment.LivingSquare); } } return(res); }
public void AddApartment(ApartmentAnnouncement apartment) { ApartmentAnnouncement existingApartment = FindApartment(apartment); if (existingApartment == null) { apartment.Sold = false; _apartmentRepository.Add(apartment); NewApartments++; } else { existingApartment.Price = apartment.Price; existingApartment.Currency = apartment.Currency; existingApartment.Notice = apartment.Notice; existingApartment.Sold = false; _apartmentRepository.SetModified(existingApartment); } _apartmentRepository.SaveChanges(); }
public ActionResult ApartmentDetails(int id) { ApartmentAnnouncement apartment = _announcementRepository.GetById(id) as ApartmentAnnouncement; return(View(apartment)); }
public void SetStreet(ApartmentAnnouncement apartment, string streetName) { Address address = GetAddressFromStreetName(streetName); apartment.Address = address; }