public ActionResult FetchPeople(string data) { // Authenticate first var result = AuthenticateUser(); if (!result.IsValid) { return(AuthorizationError(result)); } BaseMessage dataIn = BaseMessage.createFromString(data); MobilePostSearch mps = JsonConvert.DeserializeObject <MobilePostSearch>(dataIn.data); BaseMessage br = new BaseMessage(); var m = new SearchModel(mps.name, mps.comm, mps.addr); br.error = 0; br.count = m.Count; switch (dataIn.device) { case BaseMessage.API_DEVICE_ANDROID: { Dictionary <int, MobilePerson> mpl = new Dictionary <int, MobilePerson>(); MobilePerson mp; foreach (var item in m.ApplySearch().OrderBy(p => p.Name2).Take(20)) { mp = new MobilePerson().populate(item); mpl.Add(mp.id, mp); } br.data = JsonConvert.SerializeObject(mpl); break; } case BaseMessage.API_DEVICE_IOS: { List <MobilePerson> mp = new List <MobilePerson>(); foreach (var item in m.ApplySearch().OrderBy(p => p.Name2).Take(20)) { mp.Add(new MobilePerson().populate(item)); } br.data = JsonConvert.SerializeObject(mp); break; } } return(br); }
public ActionResult FetchPeople(string data) { // Authenticate first var authError = Authenticate(); if (authError != null) { return(authError); } // Check to see if type matches BaseMessage dataIn = BaseMessage.createFromString(data); if (dataIn.type != BaseMessage.API_TYPE_PEOPLE_SEARCH) { return(BaseMessage.createTypeErrorReturn()); } // Everything is in order, start the return MobilePostSearch mps = JsonConvert.DeserializeObject <MobilePostSearch>(dataIn.data); BaseMessage br = new BaseMessage(); var m = new CmsWeb.Models.iPhone.SearchModel(mps.name, mps.comm, mps.addr); br.error = 0; br.type = BaseMessage.API_TYPE_PEOPLE_SEARCH; br.count = m.Count; switch (dataIn.device) { case BaseMessage.API_DEVICE_ANDROID: { Dictionary <int, MobilePerson> mpl = new Dictionary <int, MobilePerson>(); MobilePerson mp; foreach (var item in m.ApplySearch().OrderBy(p => p.Name2).Take(20)) { mp = new MobilePerson().populate(item); mpl.Add(mp.id, mp); } br.data = JsonConvert.SerializeObject(mpl); break; } case BaseMessage.API_DEVICE_IOS: { List <MobilePerson> mp = new List <MobilePerson>(); foreach (var item in m.ApplySearch().OrderBy(p => p.Name2).Take(20)) { mp.Add(new MobilePerson().populate(item)); } br.data = JsonConvert.SerializeObject(mp); break; } default: break; } return(br); }