internal static async Task Main(string[] args) { //BenchmarkRunner.Run<HttpServiceTest>(); //Console.Read(); await ExcuteResult.ExcuteAsync(async() => await HttpServiceRawTest.RawTest(500).DonotCapture()) .Error(e => Console.WriteLine(e)); }
/// <summary> /// 新增记录 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void BtnAddClickAsync(object sender, RoutedEventArgs e) { Lib.MemberPrizePunishEntity NewRecord = new Lib.MemberPrizePunishEntity() { MemberId = _UCPrizePunishVM.CurMember.Id, UserId = AppSet.LoginUser.Id }; UC_PrizePunishWin AddWin = new UC_PrizePunishWin(NewRecord); AddWin.Owner = AppSet.AppMainWindow; if (AddWin.ShowDialog().Value) { IEnumerable <MemberPrizePunishDto> MemberPlayMonths = await DataMemberPrizePunishRepository.GetRecords(new MemberPrizePunishSearch() { MemberId = NewRecord.MemberId, UserId = NewRecord.UserId }); ExcuteResult excuteResult = await DataMemberPrizePunishRepository.AddRecord(NewRecord); if (excuteResult.State == 0) { NewRecord.Id = excuteResult.Tag; _UCPrizePunishVM.CurRecords.Add(NewRecord); } else { AppFuns.ShowMessage(excuteResult.Msg, Caption: "失败"); } } }
/// <summary> /// Post 数据到指定的Url(注意:此方式可同时传输 文件) /// </summary> /// <typeparam name="T">返回指定类型数据,需服务器配合</typeparam> /// <param name="ApiUri">Url</param> /// <param name="PostFormData">MultipartFormDataContent类型数据</param> /// <param name="processMessageHander">进度报告委托</param> /// <returns></returns> public static async Task <ExcuteResult> PostApiUriAsync(string ApiUri, MultipartFormDataContent PostFormData, ProgressMessageHandler processMessageHander = null) { HttpClient _Client = CreateHttpClient(processMessageHander); ExcuteResult TResult = new ExcuteResult(); try { HttpResponseMessage ResponseMsg = await _Client.PostAsync(ApiUri, PostFormData).ConfigureAwait(false); string ResponseString = await ResponseMsg.Content.ReadAsStringAsync().ConfigureAwait(false); if (ResponseString.Contains("errors")) { ResponseResult ResResult = JsonConvert.DeserializeObject <ResponseResult>(ResponseString); TResult = new ExcuteResult() { State = -1, Msg = ResResult.errors, Tag = ResResult.traceId }; } else { TResult = JsonConvert.DeserializeObject <ExcuteResult>(ResponseString); } } catch (Exception err) { AppFuns.ShowMessage(err.Message, isErr: true); } finally { _Client?.Dispose(); } return(TResult); }
public ExcuteResult Delete(string id) { var result = new ExcuteResult(Operate.Delete, _connString, _table.Name); var old = Find(id); if (old.HasData) { var paramDictionary = ReflectionUtility.GetObjDic(((string)old.Value).ToObject()); result.RollBackScript = ToFinalSql(_deleteRollBackSql, paramDictionary); if (Excute(_deleteSql, id) > 0) { result.AddMessage("删除成功(id=" + id + ")"); result.Successful = true; } else { result.AddMessage("删除失败(id=" + id + ")"); result.RollBackScript = ""; //删除失败时不需要回滚 result.Successful = false; } } else {//无旧记录 result.AddMessage("删除成功(未找到id=" + id + "的旧记录)"); result.Successful = true; } return(result); }
/// <summary> /// 上传计划附件 /// </summary> /// <param name="UpFileInfo">该文件信息</param> /// <param name="PostFileStream">该文件流</param> /// <param name="PostFileKey">供服务器索引使用的Key。如服务器不使用之,可以为空</param> /// <param name="PostFileName">用于告诉服务器指定文件的名称。如服务器不使用之,可以为空</param> /// <param name="showUploadProgress">上传进度</param> /// <returns></returns> public static async Task <ExcuteResult> UpLoadFileInfo(Lib.PlanFileEntity UpFileInfo, Stream PostFileStream, string PostFileKey = null, string PostFileName = null, ProgressMessageHandler showUploadProgress = null) { MultipartFormDataContent V_MultFormDatas = DataApiRepository.SetFormData(UpFileInfo, PostFileStream, PostFileKey, PostFileName); ExcuteResult JsonResult = await DataApiRepository.PostApiUriAsync(_ApiUrlBase + "PlanFile/UpLoadFile", V_MultFormDatas, showUploadProgress).ConfigureAwait(false); return(JsonResult); }
/// <summary> /// 新增记录 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void BtnAddClickAsync(object sender, RoutedEventArgs e) { Lib.MemberAppraise NewRecord = new Lib.MemberAppraise() { MemberId = _CurUcViewModel.CurMember.Id, UserId = AppSet.LoginUser.Id }; UC_AppraiseWin AddWin = new UC_AppraiseWin(NewRecord); if (AddWin.ShowDialog().Value) { IEnumerable <MemberAppraise> MemberPlayMonths = await DataMemberAppraiseRepository.GetRecords(new MemberAppraiseSearch() { MemberId = NewRecord.MemberId, UserId = NewRecord.UserId }); ExcuteResult excuteResult = await DataMemberAppraiseRepository.AddRecord(NewRecord); if (excuteResult.State == 0) { NewRecord.Id = excuteResult.Tag; _CurUcViewModel.CurRecords.Add(NewRecord); } else { AppFuns.ShowMessage(excuteResult.Msg, Caption: "失败"); } } }
public ExcuteResult ToSelectItems(string name = "", string value = "") { var result = new ExcuteResult(Operate.Items, _connString, _table.Name); var items = new List <SelectListItem>(); if (!name.HasValue() || !_table.ColumnNames.Contains(name)) {//智能匹配 name = _table.ColumnNames.FirstOrDefault(a => a.ToLower().Contains("name")); if (!name.HasValue()) { name = _table.PrimaryKey; } } var sql = string.Format("select {0},{1} from {2}", _table.PrimaryKey, name, _table.Name); var temp = sql.ExecuteReader2(_connString) .Select(a => new SelectListItem() { Value = a[0], Text = a[1], Selected = value == a[0] }) .ToList(); if (temp.Any()) { result.Value = temp.Serialize(); result.HasData = true; } return(result); }
/// <summary> /// 新增记录 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void BtnAddClickAsync(object sender, RoutedEventArgs e) { Lib.MemberRelations NewRecord = new Lib.MemberRelations() { MemberId = _CurUcViewModel.CurMember.Id, Birthday = _CurUcViewModel.CurMember.Birthday.AddYears(-25), UserId = AppSet.LoginUser.Id }; UC_RelationsWin AddWin = new UC_RelationsWin(NewRecord); AddWin.Owner = AppSet.AppMainWindow; if (AddWin.ShowDialog().Value) { ExcuteResult excuteResult = await DataMemberRelationsRepository.AddRecord(NewRecord); if (excuteResult.State == 0) { NewRecord.Id = excuteResult.Tag; _CurUcViewModel.CurRecords.Add(NewRecord); _CurUcViewModel.CurRecords.OrderBy(x => x.OrderIndex); } else { AppFuns.ShowMessage(excuteResult.Msg, Caption: "失败"); } } }
/// <summary> /// 编辑一条记录 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void BtnEditClickAsync(object sender, RoutedEventArgs e) { if (RecordListBox.SelectedItem is Lib.MemberPrizePunishEntity SelectedRec) { Lib.MemberPrizePunishEntity RecCloneObj = CloneObject <Lib.MemberPrizePunishEntity, Lib.MemberPrizePunishEntity> .Trans(SelectedRec); UC_PrizePunishWin AddWin = new UC_PrizePunishWin(RecCloneObj); AddWin.Owner = AppSet.AppMainWindow; if (AddWin.ShowDialog().Value) { ExcuteResult excuteResult = await DataMemberPrizePunishRepository.UpdateRecord(RecCloneObj); if (excuteResult != null && excuteResult.State == 0) { PropertyInfo[] TargetAttris = SelectedRec.GetType().GetProperties(); PropertyInfo[] SourceAttris = RecCloneObj.GetType().GetProperties(); foreach (PropertyInfo item in SourceAttris) { var tempObj = TargetAttris.Where(x => x.Name.Equals(item.Name, StringComparison.Ordinal)).FirstOrDefault(); if (tempObj != null) { item.SetValue(SelectedRec, item.GetValue(RecCloneObj)); } } } else { AppFuns.ShowMessage(excuteResult.Msg, Caption: "失败"); } } } }
public override ExcuteResult Excute(object lastRetVal, FSMHandle handle, Stack<State> stack) { Dictionary<string, object> variables = null; int count = str.Length - str.Replace("$", "").Length; foreach (var entity in stack) { if (--count == 0) { variables = entity.variables; break; } } if (variables == null) { Debug.LogError("must not be null"); } if (isSetter) { if (!variables.ContainsKey(name)) { variables.Add(name, lastRetVal); } else { variables[name] = lastRetVal; } } ExcuteResult ret = new ExcuteResult(); ret.retVal = variables[name]; return ret; }
public override ExcuteResult Excute(object lastRetVal, FSMHandle handle, Stack<State> stack) { if (methodInfo == null) { Debug.LogError(name + " has no method"); } object retValue = Excute(ToParam(lastRetVal), handle, stack); ExcuteResult ret = new ExcuteResult(); if (methodInfo.ReturnType == typeof(Boolean)) { if (retValue is bool && (bool)retValue == false) { ret.stopParagraph = false; ret.stopSentence = true; } } else { ret.retVal = retValue; } return ret; }
public override ExcuteResult Excute(object lastRetVal, FSMHandle handle, Stack<State> stack) { ExcuteResult ret = new ExcuteResult(); ret.stopParam = lastRetVal; ret.stopTokenType = type; ret.stopParagraph = true; ret.stopSentence = true; return ret; }
/// <summary> /// 更新计划进度 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void btn_UpdatePlan(object sender, RoutedEventArgs e) { _UCPlanInfoVM.CurPlan.CurrectState = PlanStatus.Running; ExcuteResult JsonResult = await DataPlanRepository.UpdatePlan(_UCPlanInfoVM.CurPlan); AppFuns.ShowMessage(JsonResult.Msg); _UCPlanInfoVM.SetPlanOperateGrant(); _UCPlanInfoVM.SetPlanFileDelete(); }
public ExcuteResult Download(string id, string fileColumnName) { var result = new ExcuteResult(Operate.Download, _connString, _table.Name); var old = (Find(id).Value as string).ToObject(); old.name = fileColumnName; result.Value = old; return(result); }
public async void UpdateEntityInfoAsync() { ExcuteResult excute = await DataSystemRepository.UpdateServerSettings(EntitySettingServer); if (excute.State == 0) { AppFuns.ShowMessage("更新成功!"); AppSet.ServerSetting = EntitySettingServer; } }
/// <summary> /// 更新文件信息(文件名及文件描述) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void btn_SaveChange(object sender, RoutedEventArgs e) { ExcuteResult JsonResult = await DataPlanFileRepository.UpdateFileInfo(_CurUCViewModel.CurFile); if (JsonResult.State == 0) { AppFuns.SetStateBarText(JsonResult.Msg); } AppFuns.ShowMessage(JsonResult.Msg, "消息"); }
public ExcuteResult Info() { var result = new ExcuteResult(Operate.Info, _connString, _table.Name); var temp = _table.ColumnItems; if (temp.Any()) { result.Value = temp.Serialize(); result.HasData = true; } return(result); }
public ExcuteResult All() { var result = new ExcuteResult(Operate.List, _connString, _table.Name); var temp = _querySql.ExecuteReader2(_connString); var json = ToJson(temp); if (temp.Any()) { result.Value = json; result.HasData = true; } return(result); }
/// <summary> /// 从服务器删除文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void Image_Delete_MouseLeftButtonUpAsync(object sender, System.Windows.Input.MouseButtonEventArgs e) { Lib.MemberFile SelectFile = LB_FileList.SelectedItem as Lib.MemberFile; if (!AppFuns.ShowMessage($"删除文件《{ SelectFile.Name }》?", Caption: "确认", showYesNo: true)) { return; } ExcuteResult delResult = await DataMemberFileRepository.DeleteFileInfo(SelectFile); if (delResult != null && delResult.State == 0) { _CurUcViewModel.MFiles.Remove(SelectFile); } }
public async Task <string> Delete(string FileId) { ExcuteResult actResult = new ExcuteResult(); if (await _FileRepository.DeleteByIdAsync(_FileBaseDir, FileId).ConfigureAwait(false) > 0) { actResult.SetValues(0, "删除成功!"); } else { actResult.SetValues(1, "删除失败!"); } return(JsonConvert.SerializeObject(actResult)); }
public async Task <ActionResult <string> > PostAsync([FromBody] MemberPayItemEntity PEntity) { ExcuteResult actResult = new ExcuteResult(); if (await _PayRepository.AddAsync(PEntity).ConfigureAwait(false) > 0) { actResult.SetValues(p_state: 0, p_msg: "保存成功"); } else { actResult.SetValues(1, "保存失败"); } return(JsonConvert.SerializeObject(actResult)); }
public async Task <string> PutAsync([FromBody] PlanFileEntity PEntity) { ExcuteResult actResult = new ExcuteResult(); if (await _FileRepository.UpdateAsync(PEntity).ConfigureAwait(false) > 0) { actResult.SetValues(p_state: 0, p_msg: "文件信息更新成功", p_tag: PEntity?.Id); } else { actResult.SetValues(1, "文件信息更新失败!"); } return(JsonConvert.SerializeObject(actResult)); }
public ExcuteResult Find(string id) {//返回的value是json字符串 var result = new ExcuteResult(Operate.Find, _connString, _table.Name); var script = ToFinalSql(_findSql, id); var temp = script.ExecuteReader2(_connString); if (temp.Any()) { var json = ToJson(temp); result.Value = json.Substring(1, json.Length - 2);//清除最外层的[] result.HasData = true; } return(result); }
public async Task <string> PutAsync([FromBody] MemberHolidayEntity PEntity) { ExcuteResult actResult = new ExcuteResult(); if (await _DataRepository.UpdateAsync(PEntity).ConfigureAwait(false) > 0) { actResult.SetValues(0, "更新成功"); } else { actResult.SetValues(1, "更新失败"); } return(JsonConvert.SerializeObject(actResult)); }
public async Task <ActionResult <string> > AddEntity([FromBody] MemberInfoEntity PEntity) { ExcuteResult actResult = new ExcuteResult(); if (await _MemberRepository.AddAsync(PEntity).ConfigureAwait(false) > 0) { actResult.SetValues(0, "保存成功"); } else { actResult.SetValues(1, "保存失败"); } return(JsonConvert.SerializeObject(actResult)); }
public async Task <string> DeleteAsync(string Id) { ExcuteResult actResult = new ExcuteResult(); if (await _DataRepository.DeleteAsync(Id).ConfigureAwait(false) > 0) { actResult.SetValues(0, "删除成功"); } else { actResult.SetValues(1, "删除失败"); } return(JsonConvert.SerializeObject(actResult)); }
public async Task <string> PostAsync([FromBody] MemberHolidayEntity PEntity) { ExcuteResult actResult = new ExcuteResult(); if (await _DataRepository.AddAsync(PEntity).ConfigureAwait(false) > 0) { actResult.SetValues(p_state: 0, p_msg: "保存成功", p_tag: PEntity?.Id); } else { actResult.SetValues(1, "保存失败"); } return(JsonConvert.SerializeObject(actResult)); }
public async Task <ExcuteResult> DelNode() { ExcuteResult excuteResult = new ExcuteResult(); if (CurNote != null) { excuteResult = await DataNoteRepository.DeleteRecord(CurNote.Id); if (excuteResult.State == 0) { CollectNotes.Remove(CurNote); } } return(excuteResult); }
private async void BtnUploadFile_ClickAsync(object sender, RoutedEventArgs e) { try { ExcuteResult JsonResult = new ExcuteResult(); if (_CurWinViewModel.EntityFile.ContentType == null) { AppFuns.ShowMessage("请选择文件内容类型!", Caption: "警告"); return; } _CurWinViewModel.EntityFile.CanReadUserIds = _CurWinViewModel.GetSelectUserIds(); if (!_CurWinViewModel.EntityFile.CanReadUserIds.Contains(AppSet.LoginUser.Id)) { if (!AppFuns.ShowMessage("你本人没有读取该文件的权限?", Caption: "确认", showYesNo: true)) { return; } } BtnUpFile.IsEnabled = false; ProgressMessageHandler progress = new ProgressMessageHandler(); progress.HttpSendProgress += (object sender, HttpProgressEventArgs e) => { _CurWinViewModel.EntityFile.UpIntProgress = e.ProgressPercentage; }; JsonResult = await DataPlanFileRepository.UpLoadFileInfo(_CurWinViewModel.EntityFile, _CurWinViewModel.UpFileInfo.OpenRead(), "upfilekey", "upfilename", progress); if (JsonResult != null && JsonResult.State == 0) { _CurWinViewModel.EntityFile.Id = JsonResult.Tag; _CurWinViewModel.EntityFile.UpIntProgress = 100; _CurWinViewModel.EntityFile.DownIntProgress = 0; _CallBackFunc(_CurWinViewModel.EntityFile); this.Close(); } else { AppFuns.ShowMessage(JsonResult.Msg, Caption: "错误", isErr: true); BtnUpFile.IsEnabled = true; } } catch (Exception ex) { AppFuns.ShowMessage(ex.Message, Caption: "错误", isErr: true); } }
public async Task <string> DeleteEntity(string Id) { ExcuteResult actResult = new ExcuteResult(); if (await _MemberRepository.DeleteAsync(Id).ConfigureAwait(false) > 0) { await _FileRepository.DeleteByOwnerIdAsync(_FileBaseDir, Id).ConfigureAwait(false); actResult.SetValues(0, "删除成功"); } else { actResult.SetValues(1, "删除失败"); } return(JsonConvert.SerializeObject(actResult)); }
public ExcuteResult Update(Dictionary <string, object> paramDictionary) { var result = new ExcuteResult(Operate.Update, _connString, _table.Name); if (!paramDictionary.ContainsKey(_table.PrimaryKey)) { throw new Exception("传入参数中没有找到" + _table.Name + "的主键值(" + _table.PrimaryKey + ")"); } var old = Find(paramDictionary[_table.PrimaryKey] + ""); if (old.HasData) { result.RollBackScript = ToFinalSql(_updateRollBackSql, paramDictionary); var ex = Excute(_updateSql, paramDictionary); if (!ex.HasValue()) { result.AddMessage("更新成功"); result.Successful = true; } else { result.AddMessage("更新失败=>" + ex); result.RollBackScript = "";//更新失败不需要回滚 result.Successful = false; } } else {//无旧记录-执行全新添加 var temp = Add(paramDictionary); if (temp.Successful) { result.AddMessage("更新成功(全新添加)"); result.Successful = true; result.RollBackScript = temp.RollBackScript; } else { result.AddMessage("更新失败(全新添加)"); result.AddMessages(temp.Messages); //此种情况无需回滚-更新时不存在旧记录且尝试添加旧记录失败 result.RollBackScript = "";//清空回滚脚本 result.Successful = false; } } return(result); }
/// <summary> /// 删除该文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void btn_DeleteFileAsync(object sender, RoutedEventArgs e) { if (AppFuns.ShowMessage($"确定要删除[{_CurUCViewModel.CurFile.Name}]文件吗?", Caption: "确认", showYesNo: true)) { ExcuteResult JsonResult = await DataPlanFileRepository.DeleteFileInfo(_CurUCViewModel.CurFile); if (JsonResult.State == 0) { _DelFileCallBackFun?.Invoke(_CurUCViewModel.CurFile); AppFuns.SetStateBarText(JsonResult.Msg); } else { AppFuns.ShowMessage(JsonResult.Msg, "消息"); } } }
/// <summary> /// 将计划状态重置为 正在实施 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void btn_ResetPlan(object sender, RoutedEventArgs e) { _UCPlanInfoVM.CurPlan.CurrectState = PlanStatus.Running; ExcuteResult JsonResult = await DataPlanRepository.UpdatePlan(_UCPlanInfoVM.CurPlan); if (JsonResult.State == 0) { AppSet.AppMainWindow.lblCursorPosition.Text = JsonResult.Msg; AppFuns.ShowMessage("计划重置成功!"); _UCPlanInfoVM.SetPlanOperateGrant(); _UCPlanInfoVM.SetPlanFileDelete(); } else { AppFuns.ShowMessage(JsonResult.Msg); } }
public override ExcuteResult Excute(object lastRetVal, FSMHandle handle, Stack<State> stack) { ExcuteResult ret = new ExcuteResult(); ret.retVal = name; return ret; }