/// <summary> /// Validate the object. /// </summary> /// <exception cref="ValidationException"> /// Thrown if validation fails /// </exception> public virtual void Validate() { if (Qna != null) { Qna.Validate(); } if (DisplayText != null) { if (DisplayText.Length > 200) { throw new ValidationException(ValidationRules.MaxLength, "DisplayText", 200); } } }
public async Task <IActionResult> QnaEdit(int id, bool answer = false) { if (id > 0) { if (answer) { var que = await _qnaService.GetQnaById(id); var allAns = await _qnaService.GetQnaAnswersByQueId(id); string title = ""; for (int i = 1; i <= allAns.Count; i++) { title += "[답변] "; } title += que.m_title; ModelState.Clear(); Qna a = new Qna() { Id = 0, m_ref = id, m_title = title, m_name = User.Identity.Name }; return(View(a)); } else { var qna = await _qnaService.GetQnaById(id); return(View(qna)); } } else { return(View(new Qna() { m_name = User.Identity.Name })); } }
public async Task <IActionResult> QnaEdit(Qna qna) { if (qna != null) { qna.m_name = User.Identity.Name; var file = await UploadFile(HttpContext); if (file != null) { qna.m_filesize = file.FileSizeInKB; qna.m_file_guid = file.GuidName; qna.m_file_name = file.OriginalFileName; } //if qna contains m_ref it means user is submitting answer. if (qna.m_ref.HasValue && qna.m_ref.Value > 0) { if (qna.Id == qna.m_ref.Value) { qna.Id = 0; } } if (qna.Id > 0) { try { qna.m_date = DateTime.Now; await _qnaService.UpdateQna(qna); TempData["SuccessMsg"] = "성공적으로 저장되었습니다."; return(RedirectToAction("Qna")); } catch (Exception ex) { if (ex.Message == "PASSWORD-NOT-MATCHED") { TempData["ErrorMsg"] = "비밀번호가 일치하지 않습니다."; } else if (ex.Message == "PASSWORD-EMPTY") { TempData["ErrorMsg"] = "비밀번호를 입력하세요."; } else { TempData["ErrorMsg"] = ex.Message; //ModelState.AddModelError(string.Empty, ex.Message); } } } else { qna.m_date = DateTime.Now; qna.m_read = 0; try { await _qnaService.AddQna(qna); TempData["SuccessMsg"] = "성공적으로 저장되었습니다."; return(RedirectToAction("Qna")); } catch (Exception ex) { TempData["ErrorMsg"] = ex.Message; } } } return(View(qna)); }
//[Authorize(Roles = "Administrators")] public async Task <IActionResult> QnaEdit(Qna qna) { if (qna != null) { if (User.Identity.IsAuthenticated) { if (User.IsInRole("Administrators")) { qna.m_name = "HNS"; } else { qna.m_name = User.Identity.Name; } } var file = await UploadFile(HttpContext); if (file != null) { qna.m_filesize = file.FileSizeInKB; qna.m_file_guid = file.GuidName; qna.m_file_name = file.OriginalFileName; } if (qna.Id > 0) { try { qna.m_date = DateTime.Now; await _qnaService.UpdateQna(qna); TempData["SuccessMsg"] = "저장되었습니다."; return(RedirectToAction("Qna")); } catch (Exception ex) { if (ex.Message == "PASSWORD-NOT-MATCHED") { TempData["ErrorMsg"] = "비밀번호가 일치하지 않습니다."; } else { TempData["ErrorMsg"] = ex.Message; } } } else { qna.m_date = DateTime.Now; qna.m_read = 0; try { await _qnaService.AddQna(qna); TempData["SuccessMsg"] = "저장되었습니다."; return(RedirectToAction("Qna")); } catch (Exception ex) { TempData["ErrorMsg"] = ex.Message; } } } return(View(qna)); }