public HttpResponseMessage search_name(PredictiveFilter filter) { List <User> users = new List <User>(); HttpResponseMessage message = null; var error_message = string.Empty; if (string.IsNullOrWhiteSpace(filter.First)) { message = Request.CreateResponse(HttpStatusCode.NotFound, users); message.Headers.Date = DateTime.Now; return(message); } users = _usr.search_first(filter); if (users.Count() == 0) { message = Request.CreateResponse(HttpStatusCode.NotFound, users); message.Headers.Date = DateTime.Now; } else if (users.Count() > 0) { message = Request.CreateResponse(HttpStatusCode.OK, users); message.Headers.Date = DateTime.Now; } else { error_message = "error, internal server error could not be processed further"; message = Request.CreateResponse(HttpStatusCode.InternalServerError, error_message); message.Headers.Date = DateTime.Now; return(message); } return(message); }
public ActionResult PredictiveFirst(ContactFilter filt) { List <User> users = new List <User>(); JsonResult json = new JsonResult(); if (!string.IsNullOrWhiteSpace(filt.First)) { PredictiveFilter filter = new PredictiveFilter { First = filt.First }; if (filt.CountryId != null) { var couId = Guid.Parse(filt.CountryId); filter.CountryId = couId; } if (filt.ProvinceId != null) { var prId = Guid.Parse(filt.ProvinceId); filter.ProvinceId = prId; } if (filt.CityId != null) { var ciId = Guid.Parse(filt.CityId); filter.CityId = ciId; } using (var api = new HttpClient()) { api.BaseAddress = new Uri("https://localhost:44343/api/user/"); api.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var get_user = api.PostAsJsonAsync <PredictiveFilter>("search/name", filter); get_user.Wait(); var result = get_user.Result; if (result.StatusCode == HttpStatusCode.OK) { var s = result.Content.ReadAsAsync <List <User> >(); s.Wait(); users = s.Result; } else if (result.StatusCode == HttpStatusCode.NotFound) { var s = result.Content.ReadAsAsync <List <User> >(); s.Wait(); users = s.Result; } } } json.Data = users; json.MaxJsonLength = int.MaxValue; json.JsonRequestBehavior = JsonRequestBehavior.DenyGet; json.ContentType = "application/json; charset=utf-8"; json.ContentEncoding = Encoding.UTF8; return(json); //json. //return Json(users, "application/json; charset=utf-8", Encoding.UTF8, JsonRequestBehavior.DenyGet); }
public List <User> search_first(PredictiveFilter filter) { List <User> users = new List <User>(); if (string.IsNullOrWhiteSpace(filter.First)) { return(users); } using (_context = new BlueContext()) { using (var _transaction = _context.Database.BeginTransaction(IsolationLevel.Serializable)) { try { if (_context.Database.Connection.State == ConnectionState.Closed || _context.Database.Connection.State == ConnectionState.Broken) { _context.Database.Connection.Open(); } List <Address> addresses = new List <Address>(); if (filter.CountryId != Guid.Empty && filter.ProvinceId != Guid.Empty && filter.CityId != Guid.Empty) { addresses.Clear(); var ad1 = (from a in _context.Address where (a.CountryId == filter.CountryId && a.ProvinceId == filter.ProvinceId && a.CityId == filter.CityId) select a).ToList <Address>(); if (ad1.Count() != 0) { addresses.AddRange(ad1); } List <UserAddress> userAddresses = new List <UserAddress>(); if (addresses.Count() > 0) { userAddresses.Clear(); foreach (var a in addresses) { var ads = (from ad in _context.UserAddress where (ad.AddressId == a.AddressId) select ad).SingleOrDefault <UserAddress>(); userAddresses.Add(ads); } } if (userAddresses.Count() > 0) { users.Clear(); foreach (var ds in userAddresses) { var user = (from u in _context.User where (u.UserId == ds.UserId && u.FirstName.Contains(filter.First)) select u).SingleOrDefault <User>(); users.Add(user); } _context.SaveChanges(); } } else if (filter.CountryId != Guid.Empty && filter.ProvinceId != Guid.Empty && filter.CityId == Guid.Empty) { addresses.Clear(); var ad1 = (from a in _context.Address where (a.CountryId == filter.CountryId && a.ProvinceId == filter.ProvinceId) select a).ToList <Address>(); if (ad1.Count() != 0) { addresses.AddRange(ad1); } List <UserAddress> userAddresses = new List <UserAddress>(); if (addresses.Count() > 0) { userAddresses.Clear(); foreach (var a in addresses) { var ads = (from ad in _context.UserAddress where (ad.AddressId == a.AddressId) select ad).SingleOrDefault <UserAddress>(); userAddresses.Add(ads); } } if (userAddresses.Count() > 0) { users.Clear(); foreach (var ds in userAddresses) { var user = (from u in _context.User where (u.UserId == ds.UserId && u.FirstName.Contains(filter.First)) select u).SingleOrDefault <User>(); users.Add(user); } _context.SaveChanges(); } } else if (filter.CountryId != Guid.Empty && filter.ProvinceId == Guid.Empty && filter.CityId == Guid.Empty) { addresses.Clear(); var ad1 = (from a in _context.Address where (a.CountryId == filter.CountryId) select a).ToList <Address>(); if (ad1.Count() != 0) { addresses.AddRange(ad1); } List <UserAddress> userAddresses = new List <UserAddress>(); if (addresses.Count() > 0) { userAddresses.Clear(); foreach (var a in addresses) { var ads = (from ad in _context.UserAddress where (ad.AddressId == a.AddressId) select ad).SingleOrDefault <UserAddress>(); userAddresses.Add(ads); } } if (userAddresses.Count() > 0) { users.Clear(); foreach (var ds in userAddresses) { var user = (from u in _context.User where (u.UserId == ds.UserId && u.FirstName.Contains(filter.First)) select u).SingleOrDefault <User>(); users.Add(user); } _context.SaveChanges(); } } else if (filter.CountryId == Guid.Empty && filter.ProvinceId != Guid.Empty && filter.CityId != Guid.Empty) { addresses.Clear(); var ad1 = (from a in _context.Address where (a.ProvinceId == filter.ProvinceId && a.CityId == filter.CityId) select a).ToList <Address>(); if (ad1.Count() != 0) { addresses.AddRange(ad1); } List <UserAddress> userAddresses = new List <UserAddress>(); if (addresses.Count() > 0) { userAddresses.Clear(); foreach (var a in addresses) { var ads = (from ad in _context.UserAddress where (ad.AddressId == a.AddressId) select ad).SingleOrDefault <UserAddress>(); userAddresses.Add(ads); } } if (userAddresses.Count() > 0) { users.Clear(); foreach (var ds in userAddresses) { var user = (from u in _context.User where (u.UserId == ds.UserId && u.FirstName.Contains(filter.First)) select u).SingleOrDefault <User>(); users.Add(user); } _context.SaveChanges(); } } else if (filter.CountryId != Guid.Empty && filter.ProvinceId == Guid.Empty && filter.CityId != Guid.Empty) { addresses.Clear(); var ad1 = (from a in _context.Address where (a.CountryId == filter.CountryId && a.CityId == filter.CityId) select a).ToList <Address>(); if (ad1.Count() != 0) { addresses.AddRange(ad1); } List <UserAddress> userAddresses = new List <UserAddress>(); if (addresses.Count() > 0) { userAddresses.Clear(); foreach (var a in addresses) { var ads = (from ad in _context.UserAddress where (ad.AddressId == a.AddressId) select ad).SingleOrDefault <UserAddress>(); userAddresses.Add(ads); } } if (userAddresses.Count() > 0) { users.Clear(); foreach (var ds in userAddresses) { var user = (from u in _context.User where (u.UserId == ds.UserId && u.FirstName.Contains(filter.First)) select u).SingleOrDefault <User>(); users.Add(user); } _context.SaveChanges(); } } else if (filter.CountryId == Guid.Empty && filter.ProvinceId == Guid.Empty && filter.CityId != Guid.Empty) { addresses.Clear(); var ad1 = (from a in _context.Address where (a.CityId == filter.CityId) select a).ToList <Address>(); if (ad1.Count() != 0) { addresses.AddRange(ad1); } List <UserAddress> userAddresses = new List <UserAddress>(); if (addresses.Count() > 0) { userAddresses.Clear(); foreach (var a in addresses) { var ads = (from ad in _context.UserAddress where (ad.AddressId == a.AddressId) select ad).SingleOrDefault <UserAddress>(); userAddresses.Add(ads); } } if (userAddresses.Count() > 0) { users.Clear(); foreach (var ds in userAddresses) { var user = (from u in _context.User where (u.UserId == ds.UserId && u.FirstName.Contains(filter.First)) select u).SingleOrDefault <User>(); users.Add(user); } _context.SaveChanges(); } } else if (filter.CountryId == Guid.Empty && filter.ProvinceId != Guid.Empty && filter.CityId == Guid.Empty) { addresses.Clear(); var ad1 = (from a in _context.Address where (a.CityId == filter.CityId) select a).ToList <Address>(); if (ad1.Count() != 0) { addresses.AddRange(ad1); } List <UserAddress> userAddresses = new List <UserAddress>(); if (addresses.Count() > 0) { userAddresses.Clear(); foreach (var a in addresses) { var ads = (from ad in _context.UserAddress where (ad.AddressId == a.AddressId) select ad).SingleOrDefault <UserAddress>(); userAddresses.Add(ads); } } if (userAddresses.Count() > 0) { users.Clear(); foreach (var ds in userAddresses) { var user = (from u in _context.User where (u.UserId == ds.UserId && u.FirstName.Contains(filter.First)) select u).SingleOrDefault <User>(); users.Add(user); } _context.SaveChanges(); } } else { users = (from u in _context.User where (u.FirstName.Contains(filter.First)) select u).ToList <User>(); } if (users.Count() == 0) { _transaction.Rollback(); return(users); } _transaction.Commit(); } catch (Exception e) { _transaction.Rollback(); throw new Exception(e.Message); } } } return(users); }