using Business.api.addressy; using Common; using Common.Model; using Common.Model.Addressy; using log4net; using Repository; using Repository.Mobile; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Business.Addressy { public class LocateBusiness { private static readonly ILog Log = LogManager.GetLogger(typeof(LocateBusiness)); ServiceApi serviceApi { get; set; } public LocateBusiness() { serviceApi = new ServiceApi(); } public JsonRxResponse QueryAddress(string postCode) { JsonRxResponse rxResponse = new JsonRxResponse() { ErrorCode = "1", Msg = "No Data found" }; var results = serviceApi.Find_v1_10(postCode); Log.Debug(Newtonsoft.Json.JsonConvert.SerializeObject(results)); if (results != null && results.Any()) { var single = results.FirstOrDefault(); if (single != null && single.Type.Equals("Postcode")) { rxResponse.ErrorCode = "0"; rxResponse.Msg = "Post code found"; var result2 = serviceApi.Find_v1_10(postCode, single.Id); QueryResponse queryResponsse = new QueryResponse(); queryResponsse.Addresses = new List
(); foreach (Capture_Interactive_Find_v1_10_Results item in result2) { queryResponsse.Addresses.Add(new Address() { Id = item.Id, Type = item.Type, Address1 = item.Text, City = item.Description.Substring(0, item.Description.LastIndexOf(",")) }); } rxResponse.Data = queryResponsse; } } else { rxResponse.Msg = "No result!"; } return rxResponse; } public QueryResponse LoadKycStaticData() { QueryResponse queryResponse = new QueryResponse(); var sql = "EXEC proc_mobile_StaticData @flag='Query-Address'"; Dao _dao = new Dao(); var ds = _dao.ExecuteDataset(sql); if (ds.Tables.Count == 2) { var nativeCountry = ds.Tables[0]; var ncr = from nc in nativeCountry.AsEnumerable() select new NativeCountry { id = nc.Field("id").ToString(), text = nc.Field("text"), code = nc.Field("Code") }; queryResponse.NativeCountry = ncr.ToList(); var gender = ds.Tables[1]; var g = from gd in gender.AsEnumerable() select new Gender { id = gd.Field("id").ToString(), text = gd.Field("text"), }; queryResponse.Gender = g.ToList(); } return queryResponse; } } }