public JsonResult Placeinfo(int id) { ResultPlaceList result = null; int this_user_id = -1; try { using (var _context = new AppDBContext()) { string get_email = null; var identity = HttpContext.User.Identity as ClaimsIdentity; IEnumerable <Claim> claim = identity.Claims; var usernameClaim = claim .Where(x => x.Type == ClaimTypes.Name) .FirstOrDefault(); if (usernameClaim != null) { get_email = usernameClaim.Value; } Users users = _context.Users.Where(users => (users.email == get_email)) .FirstOrDefault(); if (users != null) { this_user_id = users.id_user; } } } catch { } using (var _context = new AppDBContext()) { try { var place = _context.Place.Where(place1 => (place1.id_place == id)).First(); result = PlaceToResult(place, this_user_id, true); } catch { result = null; } } return(new JsonResult(result)); }
private ResultPlaceList PlaceToResult(Place place1, int user_id = -1, bool fulladdress = false) { ResultPlaceList result1 = new ResultPlaceList(); result1.Id_place = place1.id_place; result1.Title = place1.title; result1.Description = place1.description; if (result1.Description != null) { result1.Description = result1.Description; } result1.Image = place1.image; if (result1.Image == null) { result1.Image = defaultImage; } result1.Multitime = place1.multi_time; using (var _context = new AppDBContext()) { var address = _context.Place_address .Where(placeAddress => (placeAddress.id_place == place1.id_place)).First(); if (fulladdress) { result1.Address_city = $"{address.city} {address.number} {address.street} {address.country}"; } else { result1.Address_city = address.city; } var user = _context.Users.Where(users => (users.id_user == place1.id_user)).First(); result1.Users_username = user.username; var rate = _context.Place_rate.Where(placeRate => (placeRate.id_place == place1.id_place)).ToList(); result1.Rate_likes = 0; result1.Rate_dislikes = 0; if (user_id == place1.id_user) { result1.Own = true; } else { result1.Own = false; } foreach (var rate1 in rate) { if (rate1.like) { result1.Rate_likes++; } else { result1.Rate_dislikes++; } } } return(result1); }