public ListingUpdateModel() { Categories = new List<Category>(); Users = new List<ApplicationUser>(); Pictures = new List<PictureModel>(); CustomFields = new CustomFieldListingModel(); }
public ListingUpdateModel() { Categories = new List <Category>(); Users = new List <ApplicationUser>(); Pictures = new List <PictureModel>(); CustomFields = new CustomFieldListingModel(); }
public ListingUpdateModel() { Categories = new List <Category>(); Users = new List <ApplicationUser>(); Pictures = new List <PictureModel>(); CustomFields = new CustomFieldListingModel(); Roles = new List <AspNetRole>(); TypesOfBeds = new List <TypeOfBed>(); DetailBeds = new List <DetailBed>(); }
//http://stackoverflow.com/questions/11774741/load-partial-view-depending-on-dropdown-selection-in-mvc3 public async Task<ActionResult> ListingPartial(int categoryID) { // Custom fields var customFieldCategoryQuery = await _customFieldCategoryService.Query(x => x.CategoryID == categoryID).Include(x => x.MetaField.ListingMetas).SelectAsync(); var customFieldCategories = customFieldCategoryQuery.ToList(); var customFieldModel = new CustomFieldListingModel() { MetaCategories = customFieldCategories }; return PartialView("_CategoryCustomFields", customFieldModel); }
public async Task<ActionResult> ListingUpdate(int? id) { if (CacheHelper.Categories.Count == 0) { TempData[TempDataKeys.UserMessageAlertState] = "bg-danger"; TempData[TempDataKeys.UserMessage] = "[[[There are not categories available yet.]]]"; } Listing item; var model = new ListingUpdateModel() { Categories = CacheHelper.Categories }; if (id.HasValue) { item = await _listingService.FindAsync(id); if (item == null) return new HttpNotFoundResult(); // Pictures var pictures = await _ListingPictureservice.Query(x => x.ListingID == id).SelectAsync(); var picturesModel = pictures.Select(x => new PictureModel() { ID = x.PictureID, Url = ImageHelper.GetListingImagePath(x.PictureID), ListingID = x.ListingID, Ordering = x.Ordering }).OrderBy(x => x.Ordering).ToList(); model.Pictures = picturesModel; } else item = new Listing() { Created = DateTime.Now.Date, LastUpdated = DateTime.Now.Date, Expiration = DateTime.Now.AddDays(30), Enabled = true, Active = true, }; // Item model.ListingItem = item; // Custom fields var customFieldCategoryQuery = await _customFieldCategoryService.Query(x => x.CategoryID == item.CategoryID).Include(x => x.MetaField.ListingMetas).SelectAsync(); var customFieldCategories = customFieldCategoryQuery.ToList(); var customFieldModel = new CustomFieldListingModel() { ListingID = item.ID, MetaCategories = customFieldCategories }; model.CustomFields = customFieldModel; model.Users = UserManager.Users.ToList(); model.UserID = item.UserID; model.CategoryID = item.CategoryID; model.ListingTypeID = item.ListingTypeID; // Listing types model.ListingTypes = CacheHelper.ListingTypes.Where(x => x.CategoryListingTypes.Any(y => y.CategoryID == model.CategoryID)).ToList(); return View(model); }
private async Task<ListingUpdateModel> PopulateListingUpdateModel(Listing listing, ListingUpdateModel model) { model.ListingItem = listing; // Custom fields var customFieldCategoryQuery = await _customFieldCategoryService.Query(x => x.CategoryID == listing.CategoryID).Include(x => x.MetaField.ListingMetas).SelectAsync(); var customFieldCategories = customFieldCategoryQuery.ToList(); var customFieldModel = new CustomFieldListingModel() { ListingID = listing.ID, MetaCategories = customFieldCategories }; model.CustomFields = customFieldModel; model.UserID = listing.UserID; model.CategoryID = listing.CategoryID; model.ListingTypeID = listing.ListingTypeID; // Listing types model.ListingTypes = CacheHelper.ListingTypes.Where(x => x.CategoryListingTypes.Any(y => y.CategoryID == model.CategoryID)).ToList(); // Listing Categories model.Categories = CacheHelper.Categories; return model; }
public async Task<ActionResult> ListingUpdate(int? id) { if (CacheHelper.Categories.Count == 0) { TempData[TempDataKeys.UserMessageAlertState] = "bg-danger"; TempData[TempDataKeys.UserMessage] = "[[[There are not categories available yet.]]]"; } Listing item; var userId = User.Identity.GetUserId(); var user = await UserManager.FindByIdAsync(userId); var model = new ListingUpdateModel() { Categories = CacheHelper.Categories }; if (id.HasValue) { // return unauthorized if not authenticated if (!User.Identity.IsAuthenticated) return new HttpUnauthorizedResult(); if (await NotMeListing(id.Value)) return new HttpUnauthorizedResult(); item = await _listingService.FindAsync(id); if (item == null) return new HttpNotFoundResult(); // Pictures var pictures = await _ListingPictureservice.Query(x => x.ListingID == id).SelectAsync(); var picturesModel = pictures.Select(x => new PictureModel() { ID = x.PictureID, Url = ImageHelper.GetListingImagePath(x.PictureID), ListingID = x.ListingID, Ordering = x.Ordering }).OrderBy(x => x.Ordering).ToList(); model.Pictures = picturesModel; } else { item = new Listing() { CategoryID = CacheHelper.Categories.Any() ? CacheHelper.Categories.FirstOrDefault().ID : 0, Created = DateTime.Now.Date, LastUpdated = DateTime.Now.Date, Expiration = DateTime.MaxValue, Enabled = true, Active = true, ContactEmail = user.Email, ContactName = string.Format("{0} {1}", user.FirstName, user.LastName), ContactPhone = user.PhoneNumber }; } // Item model.ListingItem = item; // Custom fields var customFieldCategoryQuery = await _customFieldCategoryService.Query(x => x.CategoryID == item.CategoryID).Include(x => x.MetaField.ListingMetas).SelectAsync(); var customFieldCategories = customFieldCategoryQuery.ToList(); var customFieldModel = new CustomFieldListingModel() { ListingID = item.ID, MetaCategories = customFieldCategories }; model.CustomFields = customFieldModel; model.UserID = item.UserID; model.CategoryID = item.CategoryID; model.ListingTypeID = item.ListingTypeID; // Listing types model.ListingTypes = CacheHelper.ListingTypes.Where(x => x.CategoryListingTypes.Any(y => y.CategoryID == model.CategoryID)).ToList(); return View("~/Views/Listing/ListingUpdate.cshtml", model); }