//[NoCache] public ActionResult Apartments(ApartmentFilterCriteria filter, AnnouncementType type = AnnouncementType.Buy, AnnouncementOrder order = AnnouncementOrder.Address, NavigationViewType viewtype = NavigationViewType.List, int page = 1, bool considerEmpty = true) { IEnumerable <ApartmentAnnouncement> apartments = _announcementRepository.GetListOfApartments().Where(an => an.Type == type && an.Address.HasValue); switch (order) { case AnnouncementOrder.Address: apartments = apartments.OrderBy(a => a.Address.ToString()); break; case AnnouncementOrder.AddressDescending: apartments = apartments.OrderByDescending(a => a.Address.ToString()); break; case AnnouncementOrder.Date: apartments = apartments.OrderBy(a => a.Created); break; case AnnouncementOrder.DateDescending: apartments = apartments.OrderByDescending(a => a.Created); break; default: apartments = apartments.OrderBy(a => a.Address.ToString()); break; } if (ModelState.IsValid) { if (filter != null) { if (filter.IsEmpty() && considerEmpty) { ApartmentFilterCriteria newFilter = ObjectToCookie.GetObjectFromCookies <ApartmentFilterCriteria>(Request.Cookies, COOKIE_KEY_APARTMENTFILTER); if (newFilter != null) { filter = newFilter; } } apartments = filter.Filter(apartments); ObjectToCookie.SetCookieAsObject <ApartmentFilterCriteria>(filter, Response.Cookies, COOKIE_KEY_APARTMENTFILTER); } } else { filter = new ApartmentFilterCriteria(); } ViewBag.ViewType = viewtype; ViewBag.Type = type; ViewBag.OrderType = order; if (viewtype == NavigationViewType.List) { ApartmentsListViewModel viewModel = new ApartmentsListViewModel(); viewModel.Page = createPageInfo(page, apartments.Count()); setViewModel(viewModel, announcementsForPage(apartments, page)); viewModel.FilterCriteria = filter; return(View("Apartments", viewModel)); } else { ApartmentsViewModel viewModel = new ApartmentsViewModel(); setViewModel(viewModel, apartments); viewModel.FilterCriteria = filter; return(View("ApartmentsMap", viewModel)); } }
public ApartmentsPage() { InitializeComponent(); model = new ApartmentsViewModel(); this.BindingContext = model; NavigationPage.SetHasNavigationBar(this, true); NavigationPage.SetHasNavigationBar(this, true); }
public async Task <IActionResult> Index(string searchString) { ViewData["SearchString"] = searchString; List <DataAccess.Ef.Dto.Apartment> apartments = await _data.GetApartmentsAsync(searchString); var model = new ApartmentsViewModel { Apartments = apartments.Adapt <List <Models.ApartmentViewModel> >() }; return(View(model)); }
public IActionResult GetApartmentsBySearch([FromQuery] int cityId, [FromQuery] string name, [FromQuery] DateTime availableFrom, [FromQuery] int numberOfBeds, string sortType, string sortDirection) { ApartmentsViewModel model = null; try { model = this.GetFullAndPartialViewModel(cityId, name, availableFrom, numberOfBeds, sortType, sortDirection); } catch (Exception ex) { _log.LogError(ex, ex.Message); } return(PartialView("_ListApartments", model)); }
public async Task <IActionResult> Index(ApartmentsViewModel model, string searchString) { if (ModelState.IsValid) { if (model.Apartments.Any()) { ApartmentViewModel apartment = model.Apartments[0]; if (apartment.LastIndicationId != null && apartment.LastIndicationValue != null) { await _data.SetIndicationAsync((int)apartment.LastIndicationId, (int)apartment.LastIndicationValue); } } } return(RedirectToAction("Index", new { searchString = searchString })); }
public IActionResult Index() { ApartmentsViewModel model = null; try { var allCities = _cityService.GetCities(); apartmentsViewModel.Cities = allCities.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); model = this.GetFullAndPartialViewModel(allCities.FirstOrDefault().Id); } catch (Exception ex) { _log.LogError(ex, ex.Message); } return(this.View(model)); }
public async Task <ActionResult> Edit(ApartmentEdit apartments) { var lstImage = new List <string>(); HttpFileCollectionBase files = Request.Files; if (files.Count > 5) { return(Json(new { result = false, mess = "Không up lớn hơn 5 ảnh", url = Url.Action("Index", "Apartment") })); } if (files.Count > 1) { Task task = Task.Run(async() => { for (int i = 0; i < files.Count; i++) { HttpPostedFileBase file = files[i]; Account account = new Account("dev2020", "247996535991499", "9jI_5YjJaseBKUrY929sUtt0Fy0"); string path = Path.Combine(Server.MapPath("Images"), Path.GetFileName(file.FileName)); Cloudinary cloudinary = new Cloudinary(account); var uploadParams = new ImageUploadParams() { File = new FileDescription(path, file.InputStream), }; var uploadResult = await cloudinary.UploadAsync(uploadParams); lstImage.Add(uploadResult.SecureUrl.ToString()); } }); task.Wait(); } var apartment = new ApartmentsViewModel(); apartment.id = apartments.id; apartment.name = apartments.name; //Reading text box values using Jquery apartment.amount_bed = apartments.amount_bed; apartment.amount_sofa = apartments.amount_sofa; apartment.capacity_standard = apartments.capacity_standard; apartment.capacity_max = apartments.capacity_max; apartment.relax_suggest = apartments.relax_suggest; apartment.direction_instruction = apartments.direction_instruction; apartment.cuisine_suggest = apartments.cuisine_suggest; apartment.regulation = apartments.regulation; apartment.phone = apartments.phone; apartment.area = apartments.area; apartment.amount_bathroom = apartments.amount_bathroom; apartment.amount_bedroom = apartments.amount_bedroom; apartment.star_standard = apartments.star_standard; if (apartments.conveniencesEdit.Count > 1) { apartments.conveniencesEdit.RemoveAt(apartments.conveniencesEdit.Count - 1); } apartment.conveniences = apartments.conveniencesEdit; apartment.cancel_policy = apartments.cancel_policy; apartment.latitude = apartments.latitude; apartment.longitude = apartments.longitude; string[] arrListStr = apartments.travelfrom.Split(','); if (arrListStr.Count() < 4) { return(Json(new { result = false, mess = $"Địa chỉ của bạn nhập là {apartments.travelfrom} không đúng định dạng VD: số 50 Cầu Giấy, Dịch Vọng, Cầu Giấy, Hà Nội. Xin vui lòng nhập lại", url = Url.Action("CreateApartment", "Apartment") })); } apartment.detail_address = arrListStr[0]; apartment.village_address = arrListStr[1]; apartment.district_address = arrListStr[2]; apartment.province_address = arrListStr[3]; apartment.apartment_type = apartments.apartment_type; apartment.price = apartments.price; apartment.price_promotion = apartments.price_promotion; apartment.min_day = apartments.min_day; apartment.max_day = apartments.max_day; apartment.surcharge_per_person = apartments.surcharge_per_person; apartment.check_in_time = apartments.check_in_time; apartment.check_out_time = apartments.check_out_time; apartment.description = apartments.description; apartment.gallery = lstImage; using (var client = new HttpClient()) { client.BaseAddress = new Uri(Baseurl); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Session["Authent"].ToString()); //HTTP POST var response = await client.PostAsync("/manager/apartments/edit", new StringContent( new JavaScriptSerializer().Serialize(apartment), Encoding.UTF8, "application/json")); JavaScriptSerializer serializer = new JavaScriptSerializer(); var EmpResponse = await response.Content.ReadAsStringAsync(); int code = Convert.ToInt32(serializer.Deserialize <dynamic>(EmpResponse)["status"]); //var result = postTask.Result; if (response.IsSuccessStatusCode && code == 1) { //TempData["message"] = serializer.Deserialize<dynamic>(EmpResponse)["message"]; return(Json(new { result = true, mess = "Sửa phòng thành công", url = Url.Action("Index", "Apartment") })); } return(Json(new { result = false, mess = serializer.Deserialize <dynamic>(EmpResponse)["message"] })); } }
public async Task <ActionResult> Edit(long id) { var apartment = new ApartmentsViewModel(); using (var client = new HttpClient()) { //Passing service base url client.BaseAddress = new Uri(Baseurl); client.DefaultRequestHeaders.Clear(); //client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Session["Authent"].ToString()); //Define request data format client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage Res = await client.GetAsync($"/client/apartment/{id}"); if (Res.IsSuccessStatusCode) { //Storing the response details recieved from web api var EmpResponse = Res.Content.ReadAsStringAsync().Result; JavaScriptSerializer serializer = new JavaScriptSerializer(); var item = serializer.Deserialize <dynamic>(EmpResponse)["data"]; apartment.id = Convert.ToInt64(id); apartment.name = item["name"]; //Reading text box values using Jquery apartment.amount_bed = item["amount_bed"]; apartment.amount_sofa = item["amount_sofa"]; apartment.capacity_standard = item["capacity_standard"]; apartment.capacity_max = item["capacity_max"]; apartment.relax_suggest = item["relax_suggest"]; apartment.direction_instruction = item["direction_instruction"]; apartment.cuisine_suggest = item["cuisine_suggest"]; apartment.regulation = item["regulation"]; apartment.phone = Convert.ToString(item["phone"]); apartment.area = Convert.ToDouble(item["area"]); apartment.amount_bathroom = item["amount_bathroom"]; apartment.amount_bedroom = item["amount_bedroom"]; apartment.star_standard = item["star_standard"]; var str = Newtonsoft.Json.JsonConvert.SerializeObject(item["conveniences"]); //var result = JsonConvert.DeserializeObject<ListConvenience>(str); List <Convenience> item2 = serializer.Deserialize <List <Convenience> >(str); apartment.conveniences = item2.Select(x => x.id).ToList(); //apartment.cancel_policy = Convert.ToInt32(item["cancel_policy"]); //apartment.latitude = item["latitude"]; //apartment.longitude = item["longitude"]; apartment.detail_address = item["detail_address"]; apartment.village_address = item["village_address"]; apartment.district_address = item["district_address"]; apartment.province_address = item["province_address"]; //apartment.apartment_type =1* Convert.ToInt32(item["apartment_type"]); apartment.price = Convert.ToDouble(item["price"]); apartment.price_promotion = Convert.ToDouble(item["price_promotion"]); apartment.min_day = item["min_day"]; apartment.max_day = item["max_day"]; apartment.surcharge_per_person = Convert.ToDouble(item["surcharge_per_person"]); apartment.check_in_time = item["check_in_time"]; apartment.check_out_time = item["check_out_time"]; apartment.description = item["description"]; var str2 = Newtonsoft.Json.JsonConvert.SerializeObject(item["gallery"]); apartment.gallery = serializer.Deserialize <List <string> >(str2); } } ViewBag.convenience = getAllConvenience(); return(View(apartment)); }
public async Task <ActionResult> Create(Apartments apartments) { var lstImage = new List <string>(); HttpFileCollectionBase files = Request.Files; for (int i = 0; i < files.Count; i++) { HttpPostedFileBase file = files[i]; Account account = new Account("dev2020", "247996535991499", "9jI_5YjJaseBKUrY929sUtt0Fy0"); string path = Path.Combine(Server.MapPath("Images"), Path.GetFileName(file.FileName)); Cloudinary cloudinary = new Cloudinary(account); var uploadParams = new ImageUploadParams() { File = new FileDescription(path, file.InputStream), }; var uploadResult = cloudinary.Upload(uploadParams); lstImage.Add(uploadResult.SecureUrl.ToString()); } var apartment = new ApartmentsViewModel(); apartment.name = apartments.name; //Reading text box values using Jquery apartment.amount_bed = apartments.amount_bed; apartment.amount_sofa = apartments.amount_sofa; apartment.capacity_standard = apartments.capacity_standard; apartment.capacity_max = apartments.capacity_max; apartment.relax_suggest = apartments.relax_suggest; apartment.direction_instruction = apartments.direction_instruction; apartment.cuisine_suggest = apartments.cuisine_suggest; apartment.regulation = apartments.regulation; apartment.phone = apartments.phone; apartment.fax = apartments.fax; apartment.area = apartments.area; apartment.amount_bathroom = apartments.amount_bathroom; apartment.amount_bedroom = apartments.amount_bedroom; apartment.star_standard = apartments.star_standard; apartments.conveniences.RemoveAt(apartments.conveniences.Count - 1); apartment.conveniences = apartments.conveniences; apartment.cancel_policy = apartments.cancel_policy; apartment.latitude = apartments.latitude; apartment.longitude = apartments.longitude; string[] arrListStr = apartments.travelfrom.Split(','); apartment.detail_address = arrListStr[0]; apartment.village_address = arrListStr[1]; apartment.district_address = arrListStr[2]; apartment.province_address = arrListStr[3]; apartment.apartment_type = apartments.apartment_type; apartment.price = apartments.price; apartment.price_promotion = apartments.price_promotion; apartment.min_day = apartments.min_day; apartment.max_day = apartments.max_day; apartment.surcharge_per_person = apartments.surcharge_per_person; apartment.check_in_time = apartments.check_in_time; apartment.check_out_time = apartments.check_out_time; apartment.description = apartments.description; apartment.gallery = lstImage; if (Session["Authent"] != null) { using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://35.197.153.19:12345/"); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Session["Authent"].ToString()); //HTTP POST var response = await client.PostAsync("manager/apartments", new StringContent( new JavaScriptSerializer().Serialize(apartment), Encoding.UTF8, "application/json")); JavaScriptSerializer serializer = new JavaScriptSerializer(); var EmpResponse = await response.Content.ReadAsStringAsync(); //var result = postTask.Result; if (response.IsSuccessStatusCode) { TempData["message"] = "Create Success"; return(RedirectToAction("Index", "Home")); } else { TempData["message"] = serializer.Deserialize <dynamic>(EmpResponse)["message"]; return(RedirectToAction("CreateApartment", "Home")); } } } return(View()); }