public async Task <ActionResult <TransferFormRespObj> > GetTransferByIdAsync([FromQuery] SearchObj search) { if (search.SearchId < 1) { return(new TransferFormRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "TransferForm Id is required" } } }); } var response = await _repo.GetTransferByIdAsync(search.SearchId); var resplist = new List <deposit_transferform> { response }; return(new TransferFormRespObj { TransferForms = _mapper.Map <List <TransferFormObj> >(resplist), }); }
private void SearchFinishCallBack(object sender, MessageEventArgs e) { object[] retObj = e.MessageObj as object[]; List <TDocs> listResult = retObj[0] as List <TDocs>; long watchCount = (long)retObj[1]; SearchObj sobj = retObj[2] as SearchObj; if (listResult == null || sobj == null) { return; } if (sobj.ReqSource.Name == GlobalVar.LocalPath || sobj.ReqSource.Name == Dns.GetHostName()) { changeStatusBar("本地检索完成:", String.Format("共耗时{0}秒,包含结果{1}项", watchCount / 1000 + "." + watchCount % 1000, listResult.Count), false); if (listResult.Count == 0) { MessageBox.Show("本地检索完毕,未找到匹配项!"); } addResultItemCons(listResult, new ClientBrief(null, GlobalVar.LocalPath)); } else { changeStatusBar("[远程检索响应结束]", String.Format("请求节点:{0} 耗时{1}秒,包含结果{2}项", sobj.ReqSource.Name, watchCount / 1000 + "." + watchCount % 1000, listResult.Count), false); if (listResult.Count == 0) { return; } netopt.SendSearchResult(sobj, listResult); } }
private void btnSearch_Click(object sender, EventArgs e) { if (txtSearch.Text.Trim() == "") { MessageBox.Show("请输入搜索词", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtSearch.Focus(); return; } if (!chkLocalSearch.Checked && !chkP2PSearch.Checked) { MessageBox.Show("请选择检索源", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); chkLocalSearch.Focus(); return; } if (chkP2PSearch.Checked) { changeStatusBar("状态:", "发送网络搜索请求", true); lcResult.Clear(); netopt.SendSearchRequest(txtSearch.Text); } if (chkLocalSearch.Checked) { changeStatusBar("状态:", "正在本地搜索...", true); lcResult.Clear(); Thread searchTh = new Thread(new ParameterizedThreadStart(indexer.SearchIndexThread)); SearchObj sobj = new SearchObj(txtSearch.Text, new ClientBrief(null, GlobalVar.LocalPath)); searchTh.Start(sobj); } }
public async Task <ActionResult <CategoryRespObj> > GetCategoryByIdAsync([FromQuery] SearchObj search) { if (search.SearchId < 1) { return(new CategoryRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "DepositCategory Id is required" } } }); } var response = await _repo.GetCategoryByIdAsync(search.SearchId); var resplist = new List <deposit_category> { response }; return(new CategoryRespObj { Categories = _mapper.Map <List <CategoryObj> >(resplist), }); }
private void RemoteSearchRequestCallBack(object sender, MessageEventArgs e) { SearchObj sobj = e.MessageObj[0] as SearchObj; changeStatusBar("[远程检索请求]", sobj.ReqOpt.ToString(), false); Thread searchTh = new Thread(new ParameterizedThreadStart(indexer.SearchIndexThread)); searchTh.Start(sobj); }
public static string GenerateInputClass(SearchObj header) { var className = "form-control search-frm " + (!header.IsEnable ? "input-disabled" : ""); switch (header.ColumnType) { case "int": { className += " intOnly"; break; } case "decimal": case "double": case "float": { className += " doubleOnly"; break; } case "date": { className += " dateOnly"; break; } case "datetime": { className += " datetimeOnly"; break; } case "time": { className += " timeOnly"; break; } default: { break; } } return(className); }
public void SearchIndexThread(object obj) { Stopwatch watch = new Stopwatch(); watch.Start(); SearchObj sobj = obj as SearchObj; if (sobj == null) { return; } List <TDocs> listResult = new List <TDocs>(); try { listResult = m_Index.Search(sobj.StrQuery); } catch (Exception ex) { Debug.WriteLine(ex.Message); } watch.Stop(); if (SearchFinish != null) { MessageEventArgs arg = new MessageEventArgs(); arg.MessageObj = new object[3]; arg.MessageObj[0] = listResult; arg.MessageObj[1] = watch.ElapsedMilliseconds; arg.MessageObj[2] = sobj; System.ComponentModel.ISynchronizeInvoke aSynch = SearchFinish.Target as System.ComponentModel.ISynchronizeInvoke; if (aSynch.InvokeRequired) { object[] args = new object[2] { this, arg }; aSynch.Invoke(SearchFinish, args); } else { SearchFinish(this, arg); } } }
public void SendSearchResult(SearchObj sobj, List <TDocs> listResult) { IPEndPoint remoteIEP = sobj.ReqSource.IEP; /* * JavaScriptSerializer: * obj.ToScriptJsonString<T>() * obj.ToScriptJsonObject<T>() * reference to System.Runtime.Serialization.dll * using System.Runtime.Serialization.Json; * DataContract: * obj.ToJsonString<T>() * obj.ToJsonObject<T>() * reference to System.Web.Extensions.dll * using System.Web.Script.Serialization; */ string strResult = JsonConvert.SerializeObject(listResult); ClientBrief clientLocal = new ClientBrief(netc.LocalServiceIEP, Dns.GetHostName()); netc.SendTCPString(remoteIEP, SearchResponseHead + clientLocal.ToString() + GlobalVar.SplitChar_Path + strResult); }
public static string GenerateQueryFromColumn(SearchObj parameter, ref StringBuilder query) { var columnParams = parameter.Column.Split("."); if (parameter.Column.Contains(".")) { } else if (parameter.IsChild) { } else if (!parameter.IsChild) { } else if (columnParams.Count() <= 2) { } else if (columnParams.Count() == 3) { } return(query.ToString()); }
public async Task <ActionResult <InfProductTypeRespObj> > GetProductType([FromQuery] SearchObj search) { try { if (search.SearchId < 1) { return(new InfProductTypeRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "CollateralType Id is required" } } }); } var response = _repo.GetProductType(search.SearchId); var resplist = new List <InfProductTypeObj> { response }; return(new InfProductTypeRespObj { InfProductTypes = resplist, }); } catch (Exception ex) { var errorCode = ErrorID.Generate(5); _logger.Error($"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}"); return(new InfProductTypeRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "Error Occurred", TechnicalMessage = ex?.Message, MessageId = errorCode } } }); } }
private void RecvMultiCastCallBack(object sender, MessageEventArgs e) { object[] recvObj = e.MessageObj as object[]; MultiCastObject mcobj = recvObj[0] as MultiCastObject; if (mcobj == null) { return; } switch (mcobj.ObjType) { case MultiCastType.OnLine: ClientInGroup.Add(mcobj.RemoteIEP, mcobj.RemoteName); break; case MultiCastType.OffLine: ClientInGroup.Remove(mcobj.RemoteIEP); break; case MultiCastType.SearchRequest: if (mcobj.RemoteIEP.Equals(netc.LocalServiceIEP)) { break; } if (RemoteSearchRequest != null) { MessageEventArgs argSearch = new MessageEventArgs(); argSearch.MessageObj = new object[1]; SearchObj sobj = new SearchObj(mcobj.Message, new ClientBrief(mcobj.RemoteIEP, mcobj.RemoteName), mcobj.RemoteIEP); argSearch.MessageObj[0] = sobj; RemoteSearchRequest(this, argSearch); } break; default: break; } }
public async Task <ActionResult <DepositFormRespObj> > GetDepositForm([FromQuery] SearchObj search) { if (search.SearchId < 1) { return(new DepositFormRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "Depositform Id is required" } } }); } var response = _repo.GetDepositForm(search.SearchId); var resplist = new List <DepositformObj> { response }; return(new DepositFormRespObj { DepositForm = resplist, }); }
public static string AppendToQuery(SearchObj parameter) { var query = new StringBuilder(); var columnParams = parameter.Column.Split("."); switch (parameter.DataType.ToLower()) { case "bool": { if (!parameter.Column.Contains(".") || !parameter.IsChild) { query.Append(BooleanTypes.Contains(parameter.Value) ? " && " + parameter.Column + "==true" : OppositeBooleanTypes.Contains(parameter.Value) ? " && " + parameter.Column + "==false" : ""); } else if (parameter.IsChild && columnParams.Count() <= 2) { query.Append(BooleanTypes.Contains(parameter.Value) ? " && " + columnParams[0] + ".ANY(" + columnParams[1] + "==true)" : OppositeBooleanTypes.Contains(parameter.Value) ? " && " + columnParams[0] + ".ANY(" + columnParams[1] + "==false)" : ""); } else if (parameter.IsChild && columnParams.Count() == 3) { query.Append(BooleanTypes.Contains(parameter.Value) ? " && " + columnParams[0] + ".ANY(" + columnParams[1] + "." + columnParams[2] + "==true)" : OppositeBooleanTypes.Contains(parameter.Value) ? " && " + columnParams[0] + ".ANY(" + columnParams[1] + "." + columnParams[2] + "==false)" : ""); } //GenerateQueryFromColumn(parameter, ref query); break; } case "int": case "float": case "decimal": case "double": { query.Append(" && " + parameter.Column + " in (" + parameter.Value + ")"); break; } case "date": { var startDate = new DateTime(); DateTime.TryParse(parameter.Value, out startDate); if (startDate != new DateTime()) { var endDate = startDate.AddDays(1).AddSeconds(-1); query.Append(" && " + parameter.Column + ">=DateTime(" + startDate.Year + "," + startDate.Month + "," + startDate.Day + "," + startDate.Hour + "," + startDate.Minute + "," + startDate.Second + ")"); query.Append(" && " + parameter.Column + "<=DateTime(" + endDate.Year + "," + endDate.Month + "," + endDate.Day + "," + endDate.Hour + "," + endDate.Minute + "," + endDate.Second + ")"); } break; } case "time": { var date = new DateTime(); DateTime.TryParse(parameter.Value, out date); var timeSpan = new TimeSpan(date.Hour, date.Minute, date.Second); if (date != new DateTime()) { query.Append(" && " + parameter.Column + "==TimeSpan(" + date.Hour + "," + date.Minute + "," + date.Second + ")"); } break; } case "enum": { // TODO // Create nuget package for enum utilities and get it from there, we need to decouple project dependencies //EnumHelper.GetValueOf(parameter.ColumnType, parameter.Value); EnumAgent.Utilities.ConvertFromString(parameter.ColumnType, parameter.Value); break; } default: { break; } } return(query.ToString()); }
public async Task <ActionResult <WithdrawalFormRespObj> > GetWithdrawalByIdAsync([FromQuery] SearchObj search) { if (search.SearchId < 1) { return(new WithdrawalFormRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "ChangeOfRates Id is required" } } }); } var response = await _repo.GetWithdrawalByIdAsync(search.SearchId); var resplist = new List <deposit_withdrawalform> { response }; return(new WithdrawalFormRespObj { WithdrawalForms = _mapper.Map <List <WithdrawalFormObj> >(resplist), }); }
public async Task <ActionResult <ChangeOfRateSetupRespObj> > GetChangeOfRatesSetupByIdAsync([FromQuery] SearchObj search) { if (search.SearchId < 1) { return(new ChangeOfRateSetupRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "ChangeOfRateSetup Id is required" } } }); } var response = await _repo.GetChangeOfRatesSetupByIdAsync(search.SearchId); var resplist = new List <deposit_changeofratesetup> { response }; return(new ChangeOfRateSetupRespObj { ChangeOfRateSetups = _mapper.Map <List <ChangeOfRateSetupObj> >(resplist), }); }
public async Task <ActionResult <LoanReviewListObjRespObj> > GetAllRunningLoan([FromBody] SearchObj model) { try { var response = _repo.GetAllRunningLoan(model.SearchString, model.CustomerTypeId, model.ProductTypeId); return(new LoanReviewListObjRespObj { LoanReviewList = response, }); } catch (Exception ex) { var errorCode = ErrorID.Generate(5); _logger.Error($"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}"); return(new LoanReviewListObjRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "Error Occurred", TechnicalMessage = ex?.Message, MessageId = errorCode } } }); } }
public async Task <ActionResult <AccountSetupRespObj> > GetAccountSetupByIdAsync([FromQuery] SearchObj search) { if (search.SearchId < 1) { return(new AccountSetupRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "AccountSetup Id is required" } } }); } var response = await _repo.GetAccountSetupByIdAsync(search.SearchId); var resplist = new List <DepositAccountObj> { response }; return(new AccountSetupRespObj { DepositAccounts = resplist, }); }