private void GetAccessTokenCallback(APICallbackArgs acArgs) { if (AccessTokenReceived != null) { OAuthResponseObject oroResponse = (OAuthResponseObject)acArgs.ResponseObject; if (acArgs.Succeeded) { if (oroResponse.Response.ContainsKey("oauth_token") && oroResponse.Response.ContainsKey("oauth_token_secret")) { oroResponse.Credentials.Token = oroResponse.Response["oauth_token"]; oroResponse.Credentials.TokenSecret = oroResponse.Response["oauth_token_secret"]; oroResponse.Credentials.ClientUsername = oroResponse.Response["screen_name"]; APIReturn.SynchronizeInvoke(AccessTokenReceived, new object[4] { this, true, "", oroResponse.Credentials }); } else { APIReturn.SynchronizeInvoke(AccessTokenReceived, new object[4] { this, false, "An error occurred authenticating with the pin you supplied. Please try again with the correct pin.", null }); } } else { APIReturn.SynchronizeInvoke(AccessTokenReceived, new object[4] { this, false, acArgs.ErrorMessage, null }); } } }
public async Task <ActionResult> Edit(string taskId, [Bind("taskId,TaskName,TaskDesc,CronExpressionString,CronRemark,IsDce,TaskUrl,IsActive")] TaskModel task) { TaskModel taskModel = await DbContext.Task.FindAsync(Guid.Parse(taskId)); if (taskModel == null) { return(APIReturn.BuildFail("记录不存在")); } taskModel.TaskName = task.TaskName; taskModel.TaskDesc = task.TaskDesc; taskModel.CronExpressionString = task.CronExpressionString; taskModel.CronRemark = task.CronRemark; taskModel.IsDce = task.IsDce; taskModel.TaskUrl = task.TaskUrl; taskModel.IsActive = task.IsActive; DbContext.Task.Update(taskModel); await DbContext.SaveChangesAsync(); ICache.SetList <TaskModel>("task_list", delegate() { return(DbContext.Task.ToArray()); }); RabbitMQHelper.PublishMessage(ConnectionFactory, GlobalVariable.EXCHANGE, taskModel.TaskKey, taskModel.TaskID.ToString()); return(APIReturn.BuildSuccess("修改成功")); }
public IActionResult get_wx_order() { APIReturn apiReturn = null; WebParams ciac = new WebParams(Request); ciac.Add("action", "wxpayms_getordid"); CallResult cr = WebHttpClient.InvokeHttp("if2017", "dk", "wxpayms_getordid", HttpMethod.Get, ciac); if ((cr.Code != 0) || string.IsNullOrEmpty(cr.Message)) { return(this.FuncResult(new APIReturn(10000, cr.Message))); } string[] msgs = cr.Message.Split(','); if ((int.Parse(msgs[0]) != 0) || (msgs.Length != 9)) { return(this.FuncResult(new APIReturn(10000, string.Format($"{cr.Code}:{cr.Message}")))); } if (ciac["image"] == "image") { MemoryStream ms = new MemoryStream(); GetQRCode(msgs[8], ms); ArraySegment <byte> data = new ArraySegment <byte>(); ms.TryGetBuffer(out data); string str15 = Convert.ToBase64String(data.Array); msgs[8] = str15; } Hashtable ht = new Hashtable(); ht["orderid"] = msgs[1]; ht["code"] = msgs[8]; apiReturn = new APIReturn(0, "", ht); return(this.FuncResult(apiReturn)); }
public async Task <IActionResult> PutTheme([FromRoute] int id, [FromBody] Theme theme) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != theme.themeId) { return(BadRequest()); } _context.Entry(theme).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ThemeExists(id)) { return(NotFound()); } else { throw; } } APIReturn re = new APIReturn(); re.Status = "success"; return(Ok(re)); }
public APIReturn RunJava(string code) { if (string.IsNullOrEmpty(code)) { APIReturn.BuildFail("code不能为空"); } string codeStr = code.Base64ToString(); if (string.IsNullOrEmpty(code)) { APIReturn.BuildFail("无效的code"); } string path = Path.Combine(GetNewPath(), "Test.java"); //System.IO.File.WriteAllText(path, codeStr, Encoding.UTF8); using (StreamWriter sw = System.IO.File.CreateText(path)) { sw.WriteLine(codeStr); sw.Flush(); } CmResult cr = cmd.RunJava(path); return(cr.Success ? APIReturn.BuildSuccess(cr.Message) : APIReturn.BuildFail(cr.ExecMsg)); }
public IActionResult get_wx_order_state([FromQuery] string orderid) { APIReturn apiReturn = null; if (string.IsNullOrEmpty(orderid)) { apiReturn = new APIReturn(10000, $"参数不正确orderid={orderid}"); return(this.FuncResult(apiReturn)); } List <object> listobj = new List <object>(); CallResult cr = WebHttpClient.InvokeHttp("if2017", "dk", "wxpayms_getordid", HttpMethod.Get, new object[] { "orderid", orderid, "action", "wxpaystate" }); if (cr.Code == 0 || !string.IsNullOrEmpty(cr.Message)) { char[] separator = new char[] { '|' }; string[] strArray = cr.Message.Split(separator); if ((int.Parse(strArray[0]) == 0) && (cr.Message.Length > 2)) { apiReturn = new APIReturn(0, cr.Message.Substring(2)); return(this.FuncResult(apiReturn)); } } apiReturn = new APIReturn(196021, $"获取订单状态失败code={cr.Code},message={cr.Message}"); return(this.FuncResult(apiReturn)); }
/// <summary> /// 统一处理API返回值 /// </summary> /// <param name="apiRet">API返回值</param> /// <returns>API返回值</returns> protected IActionResult FuncResult(APIReturn apiRet) { //根据不同策略可以返回纯文本、JSON、XML等格式 apiRet.RequestID = this.RequestID; return(this.Json(apiRet)); }
public APIReturn Delete(int id) { try { bool isDeleted = rep.Delete(id); result = new APIReturn { Content = isDeleted == true ? true : false, Message = isDeleted == true ? "Excluído com sucesso" : "Não foi possível excluir", ErrorMessage = isDeleted == false ? "Marca informada inexistente" : string.Empty }; } catch (Exception ex) { result = new APIReturn { StatusCode = 500, Message = "Ocorreu um erro inesperado ao tendar deletar", ErrorMessage = ex.Message }; } return(result); }
private void GetRequestTokenCallback(APICallbackArgs acArgs) { if (RequestTokenReceived != null) { OAuthResponseObject oroResponse = (OAuthResponseObject)acArgs.ResponseObject; if (acArgs.Succeeded) { if (oroResponse.Response.ContainsKey("oauth_token") && oroResponse.Response.ContainsKey("oauth_token_secret")) { oroResponse.Credentials.Token = oroResponse.Response["oauth_token"]; oroResponse.Credentials.TokenSecret = oroResponse.Response["oauth_token_secret"]; APIReturn.SynchronizeInvoke(RequestTokenReceived, new object[4] { this, true, "", oroResponse.Credentials }); } else { APIReturn.SynchronizeInvoke(RequestTokenReceived, new object[4] { this, false, "An error occurred retrieving a request token from Twitter. Please try again.", null }); } } else { APIReturn.SynchronizeInvoke(RequestTokenReceived, new object[4] { this, false, acArgs.ErrorMessage, null }); } } }
public APIReturn Update(Marca toUpdate, int id) { try { var currentEntity = rep.GetSingle(id); currentEntity.Nome = toUpdate.Nome; result = new APIReturn { Content = JsonConvert.SerializeObject(rep.Update(currentEntity, id)), Message = string.IsNullOrEmpty(ObjectValidator.MarcaValidator(toUpdate)) ? "Atualizado com sucesso" : "Dados incorretos", ErrorMessage = ObjectValidator.MarcaValidator(toUpdate) }; } catch (Exception ex) { result = new APIReturn { StatusCode = 500, Message = "Ocorreu um erro inesperado ao tendar atualizar o registro", ErrorMessage = ex.Message }; } return(result); }
private void HomeTimelineCallback(APICallbackArgs acArgs) { UserTimeline utInitial = (UserTimeline)acArgs.ResponseObject; for (int i = utInitial.Statuses.Count - 1; i >= 0; i--) { APIReturn.SynchronizeInvoke(Receive, new object[] { this, new JsonDocument(utInitial.Statuses[i].Object), ReceiveType.Tweet }); } m_bscAPI.GetMentions(MentionsCallback, null); }
public APIReturn DeleteAdminPermission([FromBody] string id) { APIReturn result = new APIReturn(); if (int.TryParse(id, out var _id)) { result = adminPermissionService.DeleteAdminPermission(_id); } return(result); }
private void MentionsCallback(APICallbackArgs acArgs) { UserTimeline utInitial = (UserTimeline)acArgs.ResponseObject; for (int i = utInitial.Statuses.Count - 1; i >= 0; i--) { APIReturn.SynchronizeInvoke(Receive, new object[] { this, new JsonDocument(utInitial.Statuses[i].Object), ReceiveType.Reply }); } EstablishStream(); }
public async Task <IActionResult> C([FromRoute] string act, string code) { if (string.IsNullOrEmpty(act)) { return(APIReturn.BuildFail("无效的请求")); } if (string.IsNullOrEmpty(code)) { return(APIReturn.BuildFail("code不能为空")); } string codeStr = code.Base64ToString(); if (string.IsNullOrEmpty(codeStr)) { return(APIReturn.BuildFail("无效的code")); } CmResult cm = null; if ("c".Equals(act)) { cm = await coreService.C(codeStr); } else if ("cpp".Equals(act)) { cm = await coreService.CPlusPlus(codeStr); } else if ("java".Equals(act)) { cm = await coreService.Java(codeStr); } else if ("python".Equals(act)) { cm = await coreService.Python(codeStr); } else if ("csharp".Equals(act)) { cm = await coreService.CSharp(codeStr); } else if ("nodejs".Equals(act)) { cm = await coreService.Nodejs(codeStr); } else { cm = CmResult.BuildFail("", "无效的请求"); } if (cm.Success) { return(APIReturn.BuildSuccess(cm.Message)); } return(APIReturn.BuildFail(cm.ExecMsg)); }
public async Task <ActionResult> Create([Bind("Name,Email")] UserModel user) { if (!ModelState.IsValid) { return(APIReturn.BuildFail("数据验证不通过")); } user.CreateTime = DateTime.Now; user.IsActive = true; await DbContext.User.AddAsync(user); DbContext.SaveChanges(); return(APIReturn.BuildSuccess("添加成功")); }
private void RequestCallback(RestRequest rrqRequest, RestResponse rrsResponse, object objUserState) { try { StreamReader srReader = new StreamReader(rrsResponse.ContentStream, Encoding.UTF8); string sCurLine; do { sCurLine = srReader.ReadLine().Trim(); } while ((sCurLine == "") && (!srReader.EndOfStream)); JsonDocument jdFinal = JsonParser.GetParser().ParseString(sCurLine); if (jdFinal != null) { if (jdFinal.Root.IsNode()) { if (jdFinal.Root.ToNode().ContainsKey("friends")) { //this is the friends list that's sent at the beginning of each userstream connection APIReturn.SynchronizeInvoke(Receive, this, jdFinal, ReceiveType.FriendsList); } else if (jdFinal.Root.ToNode().ContainsKey("retweeted")) { Status stNewStatus = new Status(jdFinal.Root.ToNode()); if (stNewStatus.IsReply && stNewStatus.ReplyNames.Contains(m_oaCredentials.ClientUsername)) { APIReturn.SynchronizeInvoke(Receive, this, jdFinal, ReceiveType.Reply); } else { APIReturn.SynchronizeInvoke(Receive, this, jdFinal, ReceiveType.Tweet); } } else if (jdFinal.Root.ToNode().ContainsKey("recipient_id") && jdFinal.Root.ToNode().ContainsKey("sender_id")) { DirectMessage dmNewMessage = new DirectMessage(jdFinal.Root.ToNode()); APIReturn.SynchronizeInvoke(Receive, this, jdFinal, ReceiveType.DirectMessage); } //also need to add OnDelete for when a tweet gets deleted } } } catch (Exception e) { MessageBox.Show("An unknown Twitter API error has occurred (user streams). " + e.Message, "API Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void GetUserObjectCallback(APICallbackArgs acArgs) { List <User> luResponseList = (List <User>)acArgs.ResponseObject; if (luResponseList.Count > 0) { m_uUserObject = luResponseList[0]; if (UserObjectReceived != null) { APIReturn.SynchronizeInvoke(UserObjectReceived, this, EventArgs.Empty); } } }
public async Task <ActionResult> Create([Bind("TaskName,TaskDesc,CronExpressionString,CronRemark,UID,TaskKey,IsDce,TaskUrl")] TaskModel task) { task.IsActive = true; await DbContext.Task.AddAsync(task); await DbContext.SaveChangesAsync(); ICache.SetList <TaskModel>("task_list", delegate() { return(DbContext.Task.ToArray()); }); RabbitMQHelper.PublishMessage(ConnectionFactory, GlobalVariable.EXCHANGE, task.TaskKey, task.TaskID.ToString()); return(APIReturn.BuildSuccess("添加成功")); }
public async Task <IActionResult> PostPreset([FromBody] Preset preset) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } preset.dateCreated = DateTime.Now; _context.Preset.Add(preset); await _context.SaveChangesAsync(); APIReturn re = new APIReturn(); re.Status = "success"; return(Ok(re)); }
public async Task <IActionResult> PostTheme([FromBody] Theme theme) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Theme.Add(theme); await _context.SaveChangesAsync(); APIReturn re = new APIReturn(); re.Status = "success"; return(Ok(re)); }
public async Task <IActionResult> PostAwards([FromBody] Awards awards) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } awards.dateCreated = DateTime.Now; _context.Awards.Add(awards); await _context.SaveChangesAsync(); APIReturn re = new APIReturn(); re.Status = "success"; return(Ok(re)); }
public async Task <IActionResult> PutVisits([FromRoute] int id, [FromBody] Visits visits) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //if (id != visits.visitId) //{ // return BadRequest(); //} //_context.Entry(visits).State = EntityState.Modified; var list = await _context.Visits.AsNoTracking().ToListAsync(); //list.Where(s => s.visitId == id); foreach (Visits v in list) { if (v.visitId == id) { visits.dateCreated = v.dateCreated; visits.visitDate = v.visitDate; break; } } try { visits.visitId = id; //return Ok("开始更新" + visits.dateCreated + " " + visits.GetType()+" "+visits.visitId); _context.Update(visits); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException e) { if (!VisitsExists(id)) { return(NotFound()); } else { return(BadRequest(e.Message.ToString())); } } APIReturn re = new APIReturn(); re.Status = "success"; return(Ok(re)); }
public async Task <IActionResult> PostShortCourses([FromBody] ShortCourses shortCourses) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } shortCourses.dateCreated = DateTime.Now; _context.ShortCourses.Add(shortCourses); await _context.SaveChangesAsync(); //return CreatedAtAction("GetShortCourses", new { id = shortCourses.courseId }, shortCourses); APIReturn re = new APIReturn(); re.Status = "success"; return(Ok(re)); }
public void OnException(ExceptionContext context) { context.ExceptionHandled = true; ILogger logger = context.HttpContext.Items["__requestLogger"] as ILogger; if (logger != null) { string requestID = RequestIDModel.GetRequestID(context.HttpContext); logger.LogCritical("{0} {1}", requestID, context.Exception); APIReturn apiRet = new APIReturn(-98, $"未知系统错误:{context.Exception.Message}"); apiRet.RequestID = requestID; context.Result = new JsonResult(apiRet); } }
private void DoRequestCallback(RestRequest rrqRequest, RestResponse rrsResponse, object objUserState) { RestResponseHash rrhResponse = new RestResponseHash(rrsResponse); APIReturn aprReturn = (APIReturn)objUserState; OAuthCredentials oaCredentials = (OAuthCredentials)aprReturn.CallbackArg; string sErrorMessage = ""; if (rrsResponse.InnerException != null) { sErrorMessage = rrsResponse.InnerException.Message; } APICallbackArgs acArgs = new APICallbackArgs(rrsResponse.StatusCode == HttpStatusCode.OK, sErrorMessage, new OAuthResponseObject(rrhResponse, oaCredentials)); aprReturn.SynchronizeInvoke(new object[] { acArgs }); }
public async Task <IActionResult> PutAwards([FromRoute] int id, [FromBody] Awards awards) { if (!ModelState.IsValid) { APIReturn re4 = new APIReturn(); re4.Status = "Failed"; return(BadRequest(re4)); } if (id != awards.awardId) { APIReturn re2 = new APIReturn(); re2.Status = "Failed"; return(BadRequest(re2)); } //_context.Entry(awards).State = EntityState.Modified; var list = await _context.Awards.AsNoTracking().SingleAsync(s => s.awardId == id); awards.dateCreated = list.dateCreated; awards.awardId = id; try { _context.Update(awards); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AwardsExists(id)) { APIReturn re1 = new APIReturn(); re1.Status = "Failed"; return(BadRequest(re1)); } else { throw; } } APIReturn re = new APIReturn(); re.Status = "success"; return(Ok(re)); }
public APIReturn RunCsharp(string code) { if (string.IsNullOrEmpty(code)) { APIReturn.BuildFail("code不能为空"); } string codeStr = code.Base64ToString(); if (string.IsNullOrEmpty(code)) { APIReturn.BuildFail("无效的code"); } CmResult cr = cmd.RunCSharp(codeStr); return(cr.Success ? APIReturn.BuildSuccess(cr.Message) : APIReturn.BuildFail(cr.ExecMsg)); }
/// <summary> /// 寫入 後台使用者操作 Log 紀錄 /// </summary> /// <param name="requestModel"></param> /// <returns></returns> public APIReturn AddAdminLog(AdminLog requestModel) { var rtnMessage = ""; var res = new APIReturn(APIReturnCode.Fail, rtnMessage); try { //找出該 操作人員 var admin = db.TblAdmin.Find(requestModel.Operator); //如果有找到 if (admin?.Id != null) { var log = new TblOperationLog() { Operator = admin.Id, Type = requestModel.Type, Code = requestModel.Code, Name = requestModel.Name, Remark = requestModel.Remark, Parameter = requestModel.Parameter, Ip = requestModel.Ip, RequestTime = DateTimeTools.Now(), }; db.TblOperationLog.Add(log); db.SaveChanges(); res = new APIReturn(APIReturnCode.Success, "後台 Log 寫入成功"); } else { res = new APIReturn(APIReturnCode.Fail, "無該使用者"); } return(res); } catch (Exception ex) { res = new APIReturn(APIReturnCode.Exception, ex); return(res); } }
protected void DoRequest(string sEndpoint, WebMethod wmTransferType, Dictionary<string, string> dssParams, APIReturn aprReturn) { RestRequest rrRequest = new RestRequest(); rrRequest.Path = sEndpoint; m_oaCredentials.Type = OAuthType.ProtectedResource; m_oaCredentials.Verifier = null; foreach (KeyValuePair<string, string> kvpCur in dssParams) rrRequest.AddParameter(kvpCur.Key, kvpCur.Value); RestClient rcClient = new RestClient { Authority = C_BASE_URL, VersionPath = "1", Credentials = m_oaCredentials, Method = wmTransferType }; rcClient.BeginRequest(rrRequest, DoRequestCallback, aprReturn); }
public APIReturn RunCPlusPlus(string code) { if (string.IsNullOrEmpty(code)) { APIReturn.BuildFail("code不能为空"); } string codeStr = code.Base64ToString(); if (string.IsNullOrEmpty(code)) { APIReturn.BuildFail("无效的code"); } string path = Path.Combine(GetNewPath(), $"{Guid.NewGuid().ToString("N")}.cpp"); System.IO.File.WriteAllText(path, codeStr, Encoding.UTF8); CmResult cr = cmd.RunCPlusPlus(path); return(cr.Success ? APIReturn.BuildSuccess(cr.Message) : APIReturn.BuildFail(cr.ExecMsg)); }
public async Task <IActionResult> PutShortCourses([FromRoute] int id, [FromBody] ShortCourses shortCourses) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != shortCourses.courseId) { return(BadRequest()); } // _context.Entry(shortCourses).State = EntityState.Modified; var list = await _context.ShortCourses.AsNoTracking().SingleAsync(s => s.courseId == id); shortCourses.dateCreated = list.dateCreated; shortCourses.courseId = id; try { _context.Update(shortCourses); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ShortCoursesExists(id)) { return(NotFound()); } else { throw; } } APIReturn re = new APIReturn(); re.Status = "success"; return(Ok(re)); }