public void Properties_TwoPropertiesWithGivenOptionExists_Count_ShouldBe2() { var orderId = "1"; var userId = "1"; var order = new Order() { Id = orderId, ConsultantId = userId }; _mockRepository.Setup(r => r.GetOrderFor(orderId, userId, UserRoles.Consultant)).Returns(order); order.HomeFinding = new HomeFinding() { Id = orderId, Deleted = false }; HomeFindingProperty p1 = new HomeFindingProperty(); p1.Deleted = false; p1.Property = new Property(); p1.ViewingDate = DateTime.Now.AddDays(10); order.HomeFinding.HomeFindingProperties.Add(p1); HomeFindingProperty p2 = new HomeFindingProperty(); p2.Deleted = false; p2.Property = new Property(); p2.ViewingDate = DateTime.Now.AddDays(20); order.HomeFinding.HomeFindingProperties.Add(p2); HousingViewModel viewModel = new HousingViewModel(order, mapper, "ViewingsOnly", _controller.User); //var result = _controller.PropertiesPartialPDF(orderId, "ViewingsOnly"); viewModel.Properties.Count().Should().Be(2); }
public async Task <IActionResult> DetailsHousing(HousingViewModel housingViewModel) { var placeDto = new Place() { Name = housingViewModel.Place, }; if (ModelState.IsValid) { var userId = await _usManager.GetUserIdByEmailAsync(User.Identity.Name); var housingDto = new HousingDto() { Id = housingViewModel.Id, Place = placeDto, Description = housingViewModel.Description, PricePerDay = housingViewModel.Price, Address = housingViewModel.Address, Name = housingViewModel.Name, }; return(RedirectToAction("Index", "Housing")); } return(View(housingViewModel)); }
public async Task <IActionResult> Details(string housingId, string message = null) { if (User.Identity.Name == null) { return(RedirectToAction("SignIn", "Account")); } else { var housing = await _housingManager.GetHousingAsync(housingId); var user = await _usManager.GetAsync(User.Identity.Name); if (message != null) { ModelState.AddModelError("Error", message); } var housingDetailsViewModel = new HousingViewModel() { Id = housing.Id, User = user, Name = housing.Name, Place = housing.Place?.Name, Address = housing.Address, Price = housing.PricePerDay, Description = housing.Description, Scenery = housing.Scenery }; return(View(housingDetailsViewModel)); } }
public bool CreateHouse(HousingViewModel model) { try { HousingModel house = new HousingModel(); house.Address = new AddressModel(); int id = houses.Count + 1; house.Id = id; house.Name = model.Name; house.Category = model.Category; house.Description = model.Description; house.Rooms = model.Rooms; house.CreatedAt = model.CreatedAt; house.CreatedBy = model.CreatedBy; house.Address.Street = model.Street; house.Address.City = model.City; house.Address.Country = "Portugal"; house.Address.PostalCode = model.PostalCode; houses.Add(house); return(true); } catch (Exception e) { throw e; } }
public void TestZeroPetsReturnsNull() { HousingViewModel viewModel = new HousingViewModel(); viewModel.PetsCount = 0; (viewModel.PetsCount).Should().Be(null); }
public void TestDisplayForSpouseAndNoKids() { order.SpouseName = "Some Name"; HousingViewModel viewModel = mapper.Map <Order, HousingViewModel>(order); (viewModel.SpouseAndKids).Should().Be("Yes / 0"); }
public ActionResult PropertiesPartial(string id) { var userId = User.Identity.GetUserId(); Order order = _unitOfWork.Orders.GetOrderFor(userId, id, User.GetUserRole()); HousingViewModel viewModel = new HousingViewModel(order, _mapper); return(PartialView("~/views/orders/partials/_HousingProperties.cshtml", viewModel.Properties)); }
public void TestSpouseNameFromOrder() { var spouseName = "My Great Name"; order.SpouseName = spouseName; HousingViewModel viewModel = mapper.Map <Order, HousingViewModel>(order); (viewModel.SpouseName).Should().BeEquivalentTo(spouseName); }
public ActionResult AddHouse(HousingViewModel model) { var user = UserService.GetInstance().GetUser(); model.CreatedAt = DateTime.Now; model.CreatedBy = user; HousingService.GetInstance().CreateHouse(model); return(RedirectToAction("Index")); }
public IActionResult Index(int?page, string houseTypeId, int?cityId, int?priceFrom, int?priceTo, string districtId) { var houseTypeIdArray = string.IsNullOrEmpty(houseTypeId) ? new int[] {} : houseTypeId.Split(',').Select(x => Convert.ToInt32(x)).ToArray(); var districtIdArray = string.IsNullOrEmpty(districtId) ? new int[] { } : districtId.Split(',').Select(x => Convert.ToInt32(x)).ToArray(); var filterParams = new HousingExtensions.FilterParams { CityId = cityId, Page = page, PriceFrom = priceFrom, PriceTo = priceTo, HouseTypeId = houseTypeIdArray, DistrictId = districtIdArray }; if (IsCustomer) { var customer = _context.Clients.Include(x => x.TypesHousingToCustomers).Include(x => x.DistrictToClients).FirstOrDefault(x => x.Id == CustomerUser.CustomerId); if (customer != null) { filterParams.CityId = customer.CityId; filterParams.HouseTypeId = customer.TypesHousingToCustomers.Select(x => x.TypesHousingId).ToArray(); var districtIds = customer.DistrictToClients.Select(x => x.DistrictId).ToArray(); filterParams.DistrictId = districtIds; } else { return(new HttpNotFoundObjectResult("Customer not found")); } } IQueryable <Housing> query = _context.Housing .IncludeAll() .Where(x => HousingExtensions.Filter(filterParams)(x)); int totalItems; int totalPages; var items = query.PagedResult(page ?? 1, 20, x => x.CreatedAt, false, out totalItems, out totalPages).ToList(); bool isAuth = User.Identity.IsAuthenticated; var model = new HomePageViewModel { Items = items.Select(x => HousingViewModel.Create(x, isAuth)).ToList(), CurrentPage = page ?? 1, TotalPages = totalPages, Filter = new HomePageFilter(filterParams) }; return(View(model)); }
public void TestNumberOfPets() { int numberOfTestPets = 5; for (int i = 0; i < numberOfTestPets; i++) { order.Pets.Add(new Pet()); } HousingViewModel viewModel = mapper.Map <Order, HousingViewModel>(order); (viewModel.PetsCount).Should().Be(numberOfTestPets); }
public void TestChildCountFromOrder() { int numberOfTestChildren = 4; for (int i = 0; i < numberOfTestChildren; i++) { order.Children.Add(new Child()); } HousingViewModel viewModel = mapper.Map <Order, HousingViewModel>(order); (viewModel.ChildrenCount).Should().Be(numberOfTestChildren); }
public void TestDisplayForNumberOfBaths() { String bathTypeName = "2 1/2"; NumberOfBathroomsType bathType = new NumberOfBathroomsType { Name = bathTypeName }; order.HomeFinding.NumberOfBathrooms = bathType; HousingViewModel viewModel = mapper.Map <HomeFinding, HousingViewModel>(order.HomeFinding); (viewModel.NumberOfBathroomsName).Should().Be(bathTypeName); }
public void TestDisplayForHousingType() { String housingTypeName = "My Great Housing Type"; HousingType housingType = new HousingType { Name = housingTypeName }; order.HomeFinding.HousingType = housingType; HousingViewModel viewModel = mapper.Map <HomeFinding, HousingViewModel>(order.HomeFinding); (viewModel.HousingTypeName).Should().Be(housingTypeName); }
public void TestDisplayForSpouseAndFiveKids() { order.SpouseName = "Some Name"; int numberOfTestChildren = 5; for (int i = 0; i < numberOfTestChildren; i++) { order.Children.Add(new Child()); } HousingViewModel viewModel = mapper.Map <Order, HousingViewModel>(order); (viewModel.SpouseAndKids).Should().Be("Yes / 5"); }
public async Task <IActionResult> Delete(string housingId) { var housing = await _housingManager.GetHousingAsync(housingId); var housingEditViewModel = new HousingViewModel() { Id = housing.Id, Place = housing.Place?.Name, Description = housing.Description, Price = housing.PricePerDay, Name = housing.Name }; return(View(housingEditViewModel)); }
public ActionResult HousingPartial(string id) { var userId = User.Identity.GetUserId(); Order order = _unitOfWork.Orders.GetOrderFor(userId, id, User.GetUserRole()); ViewBag.CurrentUser = userId; ViewBag.IsConsultant = User.IsInRole(UserRoles.Consultant); HousingViewModel viewModel = new HousingViewModel(order, _mapper, User); HousingPropertyViewModel sel = viewModel.Properties.Where(p => p.selected == true).FirstOrDefault(); if (sel == null) { return(PartialView("~/views/orders/partials/_Housing.cshtml", viewModel)); } ViewBag.pmEmail = order.ProgramManager.Email; return(PartialView("~/views/orders/partials/_SelectedProperty.cshtml", sel)); }
public void TestViewModelFromOrderAndMapper() { String spouseName = "Some Name"; order.SpouseName = spouseName; String housingTypeName = "My Great Housing Type"; HousingType housingType = new HousingType { Name = housingTypeName }; order.HomeFinding.HousingType = housingType; HousingViewModel viewModel = new HousingViewModel(order, mapper); viewModel.Should().NotBeNull(); viewModel.HousingTypeName.Should().Be(housingTypeName); viewModel.SpouseName.Should().Be(spouseName); }
public void Properties_NoPropertiesWithAnyOptionExist_Count_ShouldBeZero() { var orderId = "1"; var userId = "1"; var order = new Order() { Id = orderId, ConsultantId = userId }; _mockRepository.Setup(r => r.GetOrderFor(orderId, userId, UserRoles.Consultant)).Returns(order); order.HomeFinding = new HomeFinding() { Id = orderId, Deleted = false }; HousingViewModel viewModel = new HousingViewModel(order, mapper, "AllViewings", _controller.User); viewModel.Properties.Count().Should().Be(0); }
public ActionResult PropertiesPartialPDF(string id, string listChoice) { var userId = User.Identity.GetUserId(); Order order = _unitOfWork.Orders.GetOrderFor(userId, id, User.GetUserRole()); HousingViewModel viewModel = new HousingViewModel(order, _mapper, listChoice, User); if (viewModel.Properties.Count() == 0) { return(new HttpNotFoundResult()); } switch (listChoice.ToUpper()) { case "NOVIEWINGS": { ViewBag.Title = "List of Properties With no Viewings Scheduled"; break; } case "VIEWINGSONLY": { ViewBag.Title = "List of Properties With a Viewing Scheduled"; break; } case "ALLPROPERTIES": { ViewBag.Title = "List of all Properties"; break; } default: break; } ViewBag.Title += " for " + order.Transferee.FullName; return(new Rotativa.ViewAsPdf("~/Views/PDF/PDFProperties.cshtml", viewModel.Properties) { FileName = "Housing.pdf", PageMargins = new Rotativa.Options.Margins(1, 1, 1, 1), CustomSwitches = "--disable-smart-shrinking" }); }
public async Task <IActionResult> Create(HousingViewModel housingViewModel) { if (ModelState.IsValid) { var userId = await _usManager.GetUserIdByEmailAsync(User.Identity.Name); var placeDto = new Place() { Name = housingViewModel.Place, }; var housingDto = new HousingDto() { UserId = userId, Name = housingViewModel.Name, Place = placeDto, PricePerDay = housingViewModel.Price, Description = housingViewModel.Description, Address = housingViewModel.Address, Scenery = housingViewModel.Scenery }; if (housingViewModel.NewScenery != null) { byte[] imageData = null; using (var binaryReader = new BinaryReader(housingViewModel.NewScenery.OpenReadStream())) { imageData = binaryReader.ReadBytes((int)housingViewModel.NewScenery.Length); } housingDto.Scenery = imageData; } await _housingManager.CreateAsync(housingDto); return(RedirectToAction("Index", "Housing")); } return(View(housingViewModel)); }
public void TestMappingOfPropertyPhotos() { string fakeStorageId = "StorageId"; string fakePhotoUrl = "photoURL"; Photo fakePhoto = new Photo(fakeStorageId, fakePhotoUrl); HomeFindingProperty hfp = HomeFindingPropertiesBuilder.New().First(); Property property = hfp.Property; property.Photos.Add(fakePhoto); order.HomeFinding.HomeFindingProperties.Add(hfp); HousingViewModel viewModel = new HousingViewModel(order, mapper); HousingPropertyViewModel propertyViewModel = viewModel.Properties.ElementAt(0); propertyViewModel.PropertyPhotos.Should().NotBeNull(); propertyViewModel.PropertyPhotos.Should().NotBeEmpty(); PhotoViewModel photoVM = propertyViewModel.PropertyPhotos.ElementAt(0); photoVM.PhotoUrl.Should().Be(fakePhotoUrl); photoVM.StorageId.Should().Be(fakeStorageId); }
public void TestDisplayForNoFamily() { HousingViewModel viewModel = mapper.Map <Order, HousingViewModel>(order); (viewModel.SpouseAndKids).Should().Be(null); }