public async Task<IActionResult> Put(int id, [FromBody] PostViewModel model) { if (!ModelState.IsValid) return Ok(ResponseResult.Faild("Validation Error")); var post = await _service.GetPostByIdAsync(id); if (post == null) return NotFound(); var userId = User.FindFirst(ClaimTypes.Name)?.Value; if (post.User.Id != userId) return Ok(ResponseResult.Faild("Not Authorized")) ; model.PostAuthor = post.User; model.Id = post.Id; var mappedPost = _mapper.Map(model,post); var result = await _service.UpdatePostAsync(mappedPost); if (result) return Ok(ResponseResult.SuccessWithMessage("Updated Successfully")); return Ok(ResponseResult.Faild("Faild To Update Post")); }
public const string SystemQueue_PrefixName = "user.msg.{0}";//队列名称前缀 /// <summary> /// 给某个队列发送消息 /// </summary> /// <param name="queueName">队列名称</param> /// <param name="message">消息</param> /// <returns></returns> public ResponseResult SendMessage(string queueName, string message) { ResponseResult result = ResponseResult.Default(); try { //NLogHelper.Instance.Info("开始SendPrintMessage=>Redis MQ消息队列......"); if (string.IsNullOrEmpty(queueName)) { result = ResponseResult.Faild("queueName不能为空!"); return(result); } using (IRedisClient redisClient = RedisManager.GetClient()) { redisClient.EnqueueItemOnList(queueName, message); result.RequestStatus = (int)ResultFlags.OK; result.Msg = message; NLogHelper.Instance.Info(string.Format("SendPrintMessage=>Redis MQ消息队列:{0},消息:{1}......", queueName, message)); } } catch (System.Exception ex) { result.RequestStatus = (int)ResponseResultStatus.Exception; result.Msg = ex.Message; NLogHelper.Instance.Info(string.Format("SendPrintMessage=>Redis MQ消息队列Exception异常:{0}", ex.Message)); } finally { //NLogHelper.Instance.Info("结束SendPrintMessage=>Redis MQ消息队列......"); } return(result); }
public async Task<IActionResult> PostAsync([FromBody] PostViewModel model) { if (!ModelState.IsValid) return Ok(ResponseResult.Faild("Validation Error")) ; var userId = User.FindFirst(ClaimTypes.Name)?.Value; var user = await _userManager.FindByIdAsync(userId); model.PostAuthor = user; var mappedPost = _mapper.Map<Post>(model); var result = await _service.CreatePostAsync(mappedPost); if (result) return Ok(ResponseResult.SuccessWithMessage("Created Successfully")); return Ok(ResponseResult.Faild("Faild To Create Post")); }
public ResponseResult <LoginResponseResult> LoginByJObject([FromBody] JObject data) { var obj = new { user_id = data["user_id"].ToObject <string>(), user_password = data["user_password"].ToObject <string>(), }; var result = ResponseResult <LoginResponseResult> .Default(); try { if (string.IsNullOrEmpty(obj.user_id)) { return(ResponseResult <LoginResponseResult> .Faild("user_id不能为空!")); } if (string.IsNullOrEmpty(obj.user_password)) { return(ResponseResult <LoginResponseResult> .Faild("user_password不能为空!")); } //=>[模拟从数据库中验证user_id和user_password] if (obj.user_id.Equals("abennet") && obj.user_password.Equals("abennet")) { LoginResponseResult entity = new LoginResponseResult { UserId = obj.user_id, UserPassword = obj.user_password, LoginTime = DateTime.Now, SessionToken = Guid.NewGuid().ToString("N"), }; result = ResponseResult <LoginResponseResult> .Success(entity, "登录成功!"); } else { result = ResponseResult <LoginResponseResult> .Faild("登录失败!"); } } catch (System.Exception ex) { result = ResponseResult <LoginResponseResult> .Exception(ex.Message); } return(result); }
public async Task <IActionResult> RegisterAsync(RegisterViewModel model) { if (!ModelState.IsValid) { return(Ok(ResponseResult.Faild("ValidationError"))); } var applicationUser = _mapper.Map <ApplicationUser>(model); var result = await _service.CreateUserAsync(applicationUser, model.Password); if (!result.Succeeded) { return(Ok(ResponseResult.Faild(result.Errors.FirstOrDefault().Description))); } return(Ok(ResponseResult.SuccessWithMessage("Registered Successfully"))); }
/// <summary> /// 接受消息 /// </summary> /// <param name="queueName"></param> /// <returns></returns> public ResponseResult ReceiveMessage(string queueName) { ResponseResult result = ResponseResult.Default(); try { //NLogHelper.Instance.Info("开始ReceiveMessage=>Redis MQ消息队列......"); if (string.IsNullOrEmpty(queueName)) { result = ResponseResult.Faild("queueName不能为空!"); return(result); } using (IRedisClient redisClient = RedisManager.GetClient()) { var count = redisClient.GetListCount(queueName); if (count > 0) { result.Msg = redisClient.DequeueItemFromList(queueName); result.RequestStatus = (int)ResultFlags.OK; NLogHelper.Instance.Info(string.Format("ReceiveMessage=>Redis MQ消息队列:{0},消息:{1}......", queueName, result.Msg)); } else { result.Msg = string.Format("当前队列{0}中没有消息队列", queueName); result.RequestStatus = (int)ResultFlags.NotFound; } } } catch (System.Exception ex) { result.RequestStatus = (int)ResponseResultStatus.Exception; result.Msg = ex.Message; NLogHelper.Instance.Info(string.Format("ReceiveMessage=>Redis MQ消息队列Exception异常:{0}", ex.Message)); } finally { //NLogHelper.Instance.Info("结束ReceiveMessage=>Redis MQ消息队列......"); } return(result); }
public ResponseResult <LoginResponseResult> LoginByFromBody([FromUri] int id, [FromBody] LoginRequestParam loginRequestParam) { var result = ResponseResult <LoginResponseResult> .Default(); try { if (string.IsNullOrEmpty(loginRequestParam.user_id)) { return(ResponseResult <LoginResponseResult> .Faild("user_id不能为空!")); } if (string.IsNullOrEmpty(loginRequestParam.user_password)) { return(ResponseResult <LoginResponseResult> .Faild("user_password不能为空!")); } //=>[模拟从数据库中验证user_id和user_password] if (loginRequestParam.user_id.Equals("abennet") && loginRequestParam.user_password.Equals("abennet")) { LoginResponseResult entity = new LoginResponseResult { UserId = loginRequestParam.user_id, UserPassword = loginRequestParam.user_password, LoginTime = DateTime.Now, SessionToken = Guid.NewGuid().ToString("N"), }; result = ResponseResult <LoginResponseResult> .Success(entity, "登录成功!"); } else { result = ResponseResult <LoginResponseResult> .Faild("登录失败!"); } } catch (System.Exception ex) { result = ResponseResult <LoginResponseResult> .Exception(ex.Message); } return(result); }
public async Task<IActionResult> Delete(int id) { var post = await _service.GetPostByIdAsync(id); if (post == null) return NotFound(); var userId = User.FindFirst(ClaimTypes.Name)?.Value; if (post.User.Id != userId) return Ok(ResponseResult.Faild("Not Authorized")); var result = await _service.DeletePostAsync(post); if (result) { return Ok(ResponseResult.SuccessWithMessage("Post Deleted Successfully")); } return Ok(ResponseResult.Faild("Faild to Delete Post")); }
public async Task <IActionResult> LoginAsync(LoginViewModel model) { if (!ModelState.IsValid) { return(Ok(ResponseResult.Faild("ValidationError"))); } // Authenticating Identity User var user = await _service.Login(model.Username, model.Password); if (user == null) { return(Ok(ResponseResult.Faild("Username or Password is Incorrect"))); } // Generating Token and Response model var token = _service.GenerateToken(user.Id); var result = LoginResponse.SetData(user.FirstName + " " + user.LastName, token); return(Ok(ResponseResult.SuccessWithData(result))); }
public string saveSaleBill(Context ctx, DynamicObject data) { /* * 1、拼接json对象 * 2、执行标准销售订单保存 */ JObject jsonRoot = new JObject(); //存储models JArray models = new JArray(); //多model批量保存时使用,存储mBHeader JObject mBHeader = new JObject(); //model中单据头,存储普通变量、baseData、entrys JObject mBEntry = new JObject(); //model中单据体,存储普通变量,baseData JObject sBEntry = new JObject(); //model中财务子单据体,存储普通变量,baseData JObject baseData = new JObject(); //model中基础资料 JArray entrys = new JArray(); //单个model中存储多行分录体集合,存储mBentry mBHeader.Add("FID", 0); //FID mBHeader.Add("FBillNo", data["FSALBILLNO"].ToString()); //单据编号 baseData = new JObject(); baseData.Add("FNumber", "XSDD01_SYS"); mBHeader.Add("FBillTypeID", baseData); //单据类型 mBHeader.Add("FBusinessType", "NORMAL"); //业务类型 mBHeader.Add("FDate", data["FDATE"].ToString()); //业务日期 baseData = new JObject(); baseData.Add("FNumber", data["FORGNO"].ToString()); mBHeader.Add("FSaleOrgId", baseData);//销售组织 baseData = new JObject(); baseData.Add("FNumber", data["FCUSTNO"].ToString()); mBHeader.Add("FCustId", baseData);//客户编码 sBEntry = new JObject(); baseData = new JObject(); baseData.Add("FNumber", "HLTX01_SYS"); sBEntry.Add("FExchangeTypeId", baseData); //汇率类型 sBEntry.Add("FExchangeRate", "1.0"); //汇率 baseData = new JObject(); baseData.Add("FNumber", "PRE001"); sBEntry.Add("FLocalCurrId", baseData); //本位币 mBHeader.Add("FSaleOrderFinance", sBEntry); //财务信息 baseData = new JObject(); baseData.Add("FNumber", "HLTX01_SYS"); mBHeader.Add("FExchangeTypeId", baseData);//汇率类型 //baseData = new JObject(); //baseData.Add("FNumber", "BM000002"); //mBHeader.Add("FSaleDeptId", baseData);//销售部门 baseData = new JObject(); baseData.Add("FNumber", "PRE001"); mBHeader.Add("FSettleCurrId", baseData);//结算币别 baseData = new JObject(); baseData.Add("FNumber", data["FPROJECTNO"].ToString()); mBHeader.Add("FPROJECTNO", baseData); //工程名称 mBHeader.Add("FNote", data["FREMARK"].ToString()); //备注(单据编号+工程名称) string saleFid = data["FID"].ToString(); if (!"".Equals(saleFid) && saleFid != null) { string querySql = string.Format(@"/*dialect*/SELECT FMATERIALNO,FQTY ,FUNIT ,FDELIVERYDATE FROM SALE_LIST WHERE FID = '{0}'", saleFid); DynamicObjectCollection queryResult = DBUtils.ExecuteDynamicObject(ctx, querySql) as DynamicObjectCollection; if (queryResult != null && queryResult.Count() > 0) { foreach (DynamicObject qResult in queryResult) { mBEntry = new JObject(); baseData = new JObject(); baseData.Add("FNumber", qResult["FMATERIALNO"].ToString()); mBEntry.Add("FMaterialId", baseData); //物料编码 mBEntry.Add("FQty", Convert.ToInt32(qResult["FQTY"])); //销售数量 baseData = new JObject(); baseData.Add("FNumber", qResult["FUNIT"].ToString()); mBEntry.Add("FUnitID", baseData); //销售单位 mBEntry.Add("FOUTLMTUNIT", "SAL"); //超发控制单位 mBEntry.Add("FReserveType", "1"); //预留类型 mBEntry.Add("FDeliveryDate", data["FDATE"].ToString()); //要货日期 baseData = new JObject(); baseData.Add("FNumber", data["FORGNO"].ToString()); mBEntry.Add("FSettleOrgIds", baseData);//结算组织 entrys.Add(mBEntry); } mBHeader.Add("FSaleOrderEntry", entrys); models.Add(mBHeader); } } jsonRoot.Add("Creator", ""); jsonRoot.Add("IsDeleteEntry", "True"); jsonRoot.Add("SubSystemId", ""); jsonRoot.Add("IsVerifyBaseDataField", "false"); jsonRoot.Add("BatchCount", "1"); jsonRoot.Add("Model", models); string sFormId = "SAL_SaleOrder"; string sContent = JsonConvert.SerializeObject(jsonRoot); object[] saveInfo = new object[] { sFormId, sContent }; ApiClient client = new ApiClient(DBHelper.ServerUrl); string dbId = DBHelper.DBID; bool bLogin = client.Login(dbId, DBHelper.UserName, DBHelper.PassWord, Convert.ToInt32(DBHelper.ICID)); string result = ""; if (bLogin) { result = client.Execute <string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.BatchSave", saveInfo); JObject jObject = (JObject)JsonConvert.DeserializeObject(result); string flag = jObject["Result"]["ResponseStatus"]["IsSuccess"].ToString(); if ("True".Equals(flag))//销售订单同步成功状态及更新时间更新到中间表 { string updateSql = string.Format(@"/*dialect*/UPDATE SALE_MAIN@ZyK3Link SET FFLAG = '1' , FUPDATEDATE = '{0}' WHERE FID = '{1}'", System.DateTime.Now.ToString(), saleFid); DBUtils.Execute(ctx, updateSql); string updateSql2 = string.Format(@"/*dialect*/UPDATE SALE_MAIN@ZyK3Link SET FFLAG = '1' , FUPDATEDATE = '{0}' WHERE FID = '{1}'", System.DateTime.Now.ToString(), saleFid); Kingdee.BOS.Log.Logger.Info(DateTime.Now.ToString() + "succWebApi", saleFid.ToString(), true); DBUtils.Execute(ctx, updateSql2); } else //销售订单同步失败将状态机失败原因更新到中间表 { string essorMes = jObject["Result"]["ResponseStatus"]["Errors"][0].ToString(); string updateSql = string.Format(@"/*dialect*/UPDATE SALE_MAIN@ZyK3Link SET FFLAG = '2' , FUPDATEDATE = '{0}', FERRORMESSAGE = '{1}' WHERE FID = '{2}'", System.DateTime.Now.ToString(), essorMes, saleFid); Kingdee.BOS.Log.Logger.Error(DateTime.Now.ToString() + "errorWebApi", saleFid.ToString() + "同步失败原因:" + essorMes, new Exception()); DBUtils.Execute(ctx, updateSql); } } else { return(ResponseResult.Faild("登陆失败!").ToString()); } return(result); }