public IActionResult Index(string filter, int page = 1, int?houseType = null, int?cityId = null, int?districtId = null, int?minCost = null, int?maxCost = null, int?objectId = null, bool?isArchive = null) { var typesHousings = _context.TypesHousing.ToList(); if (User.IsInRole(RoleNames.Employee)) { cityId = CurrentUser?.City?.Id; } var filterData = new HousingExtensions.FilterParams() { CityId = cityId, PriceTo = minCost, PriceFrom = maxCost, Page = page, IsArchived = isArchive }; if (houseType.HasValue) { filterData.HouseTypeId = new int[] { houseType.Value }; } var query = _context.Housing.Where(x => HousingExtensions.Filter(filterData)(x)); int totalPages; int totalItems; var queryResult = query.GetPage(page, out totalItems, out totalPages); var items = queryResult.Select(x => HousingEditModel.Create(x, typesHousings, User)).ToList(); ViewBag.TotalItems = _context.Housing.Count(); ViewBag.FilteredItemsCount = totalItems; var model = new HousingIndexModel { Items = items, Filters = new HousingIndexFilterModel { IsArchived = isArchive ?? false, HousingTypeId = houseType ?? 0, CityId = cityId ?? 0, DistrictId = districtId ?? 0 }, TotalPages = totalPages, CurrentPage = page }; return(View(model)); }
public IActionResult Create() { var city = User.IsInRole(RoleNames.Employee) ? CurrentUser?.City : _context.Cities.Include(x => x.Districts).FirstOrDefault(); var housing = new Housing() { City = city, CityId = city?.Id ?? 0, Phones = new List <HousingPhone>(), Calls = new List <HousingCall>() }; var model = HousingEditModel.Create(_context, housing, User); return(View("Save", model)); }
public IActionResult Create(HousingEditModel housing) { if (ModelState.IsValid) { var newHousingItem = new Housing() { Phones = new List <HousingPhone>() }; housing.UpdateEntity(newHousingItem); _context.Housing.Add(newHousingItem); _context.SaveChanges(); return(RedirectToAction("Index")); } return(View("Save", housing)); }
public IActionResult Edit(HousingEditModel housing, int editId) { if (ModelState.IsValid) { var dbItem = _context.Housing.GetFullById(editId); housing.UpdateEntity(dbItem); _context.Update(dbItem); _context.SaveChanges(); TempData["CrmSuccessMessage"] = "Запись была успешно сохранена"; return(RedirectToAction("Index")); } var errors = ModelState.Values.Where(x => x.Errors.Any()).ToList(); return(View("Save", housing)); }
public IActionResult Details(int?id) { if (id == null) { return(HttpNotFound()); } Housing housing = _context.Housing.GetFullById(id.Value); if (housing == null) { return(HttpNotFound()); } var model = HousingEditModel.Create(_context, housing, User); return(View(model)); }
public IActionResult DetailsDialog(int id) { var h = _context.Housing.GetFullById(id); return(PartialView("DetailsDialog", HousingEditModel.Create(_context, h, User))); }