public IHttpActionResult Post(FeedBackPostRequest requestData) { var requestService = new Service.Utility.RequestDataHelper <FeedBackPostRequest>(); var checkColumnKey = new string[3] { "feedbacktype", "system", "email" }; var checkEmpty = requestService.CheckColumnEmpty(requestData, checkColumnKey); var response = new Infrastructure.ViewModel.Base.BaseResponse <FeedBack>(); response.Success = false; response.Data = new FeedBack(); if (Request != null && Request.Headers.Contains("X-Token")) { requestData.Token = Request.Headers.GetValues("X-Token").FirstOrDefault(); } else if (requestData.Token != string.Empty && requestData.Token != null) { requestData.Token = requestData.Token; } if (checkEmpty == false) { response.Message = "遺漏參數"; response.State = LogState.RequestDataError; return(Content(HttpStatusCode.BadRequest, response)); } /*判斷email格式是否有問題*/ if (requestData.Email.Contains("@") == false) { response.Message = "email格式錯誤"; response.State = LogState.RequestDataError; return(Content(HttpStatusCode.BadRequest, response)); } var feedBackService = new FeedBackService(); var responseData = feedBackService.Insert(requestData); if (responseData != null) { response.Success = true; response.Data = responseData; response.Message = "新增成功"; } else { response.Message = "新增失敗"; response.State = LogState.Error; } return(Ok(response)); }
/// <summary> /// 建立一筆問題回報 /// </summary> /// <param name="requestData"></param> /// <returns></returns> public FeedBack Insert(FeedBackPostRequest requestData) { var memberService = new MemberService(); var memberInfo = memberService.TokenToMember(requestData.Token).Result; if (memberInfo == null) { return(null); } var entity = new FeedBack() { Account = memberInfo.Account, CreateTime = DateTime.UtcNow, Creator = memberInfo.Id, Description = requestData.Description, Email = requestData.Email, Enable = true, FeedBackType = requestData.FeedBackType, OrgId = memberInfo.OrgId, Status = 0, System = requestData.System }; try { _uow.FeedBackRepo.Insert(entity); _uow.SaveChanges(); return(entity); } catch (Exception ex) { var errorService = new ErrorService(); errorService.InsertError(2, ex.Message); return(null); } }