Esempio n. 1
0
        public void SaveDetailedSearchCriterias(DetailedSearchResultsModel model, string userId)
        {
            var user = _dbContext.Users.Find(userId);
            var selectedLocationIds = (from loc2 in model.Locations
                                       let children = loc2.Children
                                                      from loc3 in children
                                                      where loc3.Selected
                                                      select loc3.Id).ToList();

            if (model.DetailedSearchFlatForRent != null)
            {
                var spEntity = _autoMapper.Map <SearchProfileFlatForRent>(model.DetailedSearchFlatForRent);
                spEntity.Title = model.SearchName;
                FillSpLoc(spEntity, selectedLocationIds);
                user.SearchProfiles.Add(spEntity);
                _dbContext.SaveChanges();
            }
            if (model.DetailedSearchFlatForSale != null)
            {
                var spEntity = _autoMapper.Map <SearchProfileFlatForSale>(model.DetailedSearchFlatForSale);
                spEntity.Title = model.SearchName;
                FillSpLoc(spEntity, selectedLocationIds);
                user.SearchProfiles.Add(spEntity);
                _dbContext.SaveChanges();
            }
            if (model.DetailedSearchHouseForRent != null)
            {
                var spEntity = _autoMapper.Map <SearchProfileHouseForRent>(model.DetailedSearchHouseForRent);
                spEntity.Title = model.SearchName;
                FillSpLoc(spEntity, selectedLocationIds);
                user.SearchProfiles.Add(spEntity);
                _dbContext.SaveChanges();
            }
            if (model.DetailedSearchHouseForSale != null)
            {
                var spEntity = _autoMapper.Map <SearchProfileHouseForSale>(model.DetailedSearchHouseForSale);
                spEntity.Title = model.SearchName;
                FillSpLoc(spEntity, selectedLocationIds);
                user.SearchProfiles.Add(spEntity);
                _dbContext.SaveChanges();
            }
        }
Esempio n. 2
0
 public ActionResult DetailedSearch(DetailedSearchResultsModel model)
 {
     if (model.SaveSearch && User.Identity.IsAuthenticated)
     {
         _searchService.SaveDetailedSearchCriterias(model, User.Identity.GetUserId());
         this.AddToastMessage(Resource.Success, Resource.YourSearchCriteriasSavedSuccessfully, ToastType.Success);
         model.SaveSearch = false;
     }
     else if (model.SaveSearch)
     {
         Session["SearchViewModel"] = model;
         return(RedirectToAction("Register", "Account"));
     }
     else
     {
         this.AddToastMessage(Resource.Info, Resource.YouCanSaveYourDetailedSearchCriteriasForLaterUse);
     }
     model.SummaryViewModels = _listingService.DetailedSearch(model);
     FillLocInfo(model);
     return(View(model));
 }