public ActionResult WriteProposal(QuestionDetailModel model) { UnitOfWork uow = new UnitOfWork(); model.QuestionDetail = uow.UserRepository.GetQuestionDetailById(model.ProblemId); if (!ModelState.IsValid) { ModelState.AddModelError("error", Resources.Resources.InvalidInfo); return(View(model)); } StudentProblemBid problem = new StudentProblemBid { BidID = Guid.NewGuid().ToString(), UserID = Session["UserId"].ToString(), ProblemID = model.ProblemId, CreationDate = DateTime.Now, Description = model.Response, Status = (int)BidStatus.Created, }; uow.StudentProblemBids.Insert(problem); uow.Save(); Common.AddNotification(Session["UserName"] + " sent you a proposal", "", Session["UserId"].ToString(), model.QuestionDetail.UserID, "/problem/proposal/" + problem.BidID, (int)NotificationType.Question); ModelState.AddModelError("success", Resources.Resources.MsgProposalSuccess); return(View(model)); }
/// <summary> /// 上报问题详情 /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult QuestionDetail(int id) { WeixinApiInit(); IQuestionBLL questionBll = BLLFactory <IQuestionBLL> .GetBLL("QuestionBLL"); var question = questionBll.GetEntity(m => m.Id == id); var model = new QuestionDetailModel { Id = question.Id, Title = question.Title, Desc = string.IsNullOrEmpty(question.Desc) ? "" : question.Desc, Status = question.Status, UploadTime = question.UploadTime.ToString("yyyy-MM-dd HH:mm:ss"), Imgs = string.IsNullOrEmpty(question.Imgs) ? new string[] { } : question.Imgs.Split(';'), AudioPath = question.AudioPath, VoiceDuration = question.VoiceDuration, PropertyName = question.PropertyPlace.Name, DisposesTime = question.Status == ConstantParam.NO_DISPOSE ? null : question.QuestionDisposes.FirstOrDefault().DisposeTime.ToString("yyyy-MM-dd HH:mm:ss"), DisposeDesc = question.Status == ConstantParam.DISPOSED ? question.QuestionDisposes.FirstOrDefault().DisposeDesc : "" }; return(View(model)); }
// GET: Question/Details/5 public ActionResult Details(int id) { var questionDetailModel = new QuestionDetailModel() { Question = questionFacade.GetQuestionByID(id) }; return(View(questionDetailModel)); }
public JsonResult GetMappingList(int DocumentId) { ViewQuestionModel objViewQuestionModel = new ViewQuestionModel(); QuestionDetailModel objQuestionDetailModel = new QuestionDetailModel(); objQuestionDetailModel.DocumentID = DocumentId; objQuestionDetailModel.StepID = 0; //initial set of current page, pageSize , Total pages objViewQuestionModel.CurrentPage = 1; objViewQuestionModel.TotalPages = 0; objViewQuestionModel.QuestionDetail = objQuestionDetailModel; objViewQuestionModel.QuestionDetail.ID = DocumentId; //Get Question Type List to fill dropdown of Question Type FillQuestionType(); objViewQuestionModel.PageSize = int.MaxValue - 1; //ViewBag.ParentQuestionList List <DropdownModel> objDropdown = new List <DropdownModel>(); List <DropdownModel> objDropdownParent = new List <DropdownModel>(); ViewBag.ParentAnswerList = new SelectList(objDropdownParent, "Id", "Value"); List <DropdownModel> objParentSeSession = new List <DropdownModel>(); //Get Question in Add or Edit Model and also show Question List based on Document and sorting paging parameters serviceResponse = objUtilityWeb.PostAsJsonAsync(WebApiURL.Question + "/GetQuestions", objViewQuestionModel); objViewQuestionModel = serviceResponse.StatusCode == HttpStatusCode.OK ? serviceResponse.Content.ReadAsAsync <ViewQuestionModel>().Result : null; foreach (QuestionDetailModel objItem in objViewQuestionModel.QuestionsList) { DropdownModel objDropdownModel = new DropdownModel(); objDropdownModel.ID = objItem.QuestionID; objDropdownModel.Value = objItem.QuestionDescription; if (objItem.QuestionType == CommonUtils.QuestionType.DropDown.ToString() || objItem.QuestionType == CommonUtils.QuestionType.SingleSelect.ToString()) { objParentSeSession.Add(new DropdownModel { ID = objItem.QuestionID, Value = objItem.ParentDDLText }); } objDropdown.Add(objDropdownModel); } Session["ParentSeSession"] = null; Session["ParentSeSession"] = objParentSeSession; ViewBag.ParentQuestionList = new SelectList(objDropdown, "Id", "Value"); return(this.Json(ViewBag.ParentQuestionList, JsonRequestBehavior.AllowGet)); }
public ActionResult Detalle(long id) { var question = _readOnlyRepository.GetById <QuestionAnswer>(id); var pregunta = new QuestionDetailModel { Id = id, Fecha = question.Fecha, Pregunta = question.Pregunta, Respuesta = question.Respuesta }; if (pregunta.Respuesta == "none") { this.AddNotification("La pregunta no ha sido contestada e intentaramos resolverla lo mas pronto posible.", NotificationType.Info); } return(View(pregunta)); }
public async Task <IActionResult> QuestionDetail(String id) { string requestStr = "http://localhost:19845/api/questions/" + id; var request = new HttpRequestMessage(HttpMethod.Get, requestStr); var client = _clientFactory.CreateClient(); var task = client.SendAsync(request); var str = await task.Result.Content.ReadAsStringAsync(); QuestionDetailModel arr = JsonConvert.DeserializeObject <QuestionDetailModel>(str); QuestionDetailandAnswer data = new QuestionDetailandAnswer { QuestionDetail = arr, Answer = "" }; return(View(data)); }
/// <summary> /// Get Question List based on and sorting and paging parameters. /// </summary> /// <param name="objViewQuestionModel"></param> /// <returns></returns> public ViewQuestionModel GetQuestionsList(ViewQuestionModel objViewQuestionModel) { List <QuestionDetailModel> lstQuestionDetailModel = new List <QuestionDetailModel>(); try { objViewQuestionModel.SortBy = objViewQuestionModel.SortBy ?? String.Empty; //Get All Questions based on Application Mapping and sorting and paging parameters DataTable dtQuestion = objDLQuestion.GetQuestionsList(objViewQuestionModel); foreach (DataRow dr in dtQuestion.Rows) { QuestionDetailModel itemQuestionDetailModel = GetDataRowToEntity <QuestionDetailModel>(dr); lstQuestionDetailModel.Add(itemQuestionDetailModel); } objViewQuestionModel.QuestionsList = lstQuestionDetailModel; //set Paging based on Question List if (objViewQuestionModel != null && objViewQuestionModel.QuestionsList != null && objViewQuestionModel.QuestionsList.Count > 0) { int totalRecord = objViewQuestionModel.QuestionsList[0].TotalCount; if (decimal.Remainder(totalRecord, objViewQuestionModel.PageSize) > 0) { objViewQuestionModel.TotalPages = (totalRecord / objViewQuestionModel.PageSize + 1); } else { objViewQuestionModel.TotalPages = totalRecord / objViewQuestionModel.PageSize; } } else { objViewQuestionModel.TotalPages = 0; objViewQuestionModel.CurrentPage = 1; } } catch (Exception ex) { throw ex; } return(objViewQuestionModel); }
public ActionResult WriteProposal(string q) { if (q != null) { UnitOfWork uow = new UnitOfWork(); QuestionDetailModel model = new QuestionDetailModel(); model.QuestionDetail = uow.UserRepository.GetQuestionDetailById(q); if (model.QuestionDetail != null) { model.ProblemId = q; return(View(model)); } return(RedirectToAction("studentproblems", "tutor")); } else { return(RedirectToAction("studentproblems", "tutor")); } }
/// <summary> /// Add or Edit Question for Document /// </summary> /// <param name="prm"></param> /// <returns></returns> public ActionResult SaveQuestion(string prm) { int DocumentId, DocumentQuestionId, StepID; ViewQuestionModel objViewQuestionModel = new ViewQuestionModel(); QuestionDetailModel objQuestionDetailModel = new QuestionDetailModel(); try { if (!String.IsNullOrEmpty(prm)) { string strPrm = CommonUtils.Decrypt(prm); //If strPrm contain , means question is in edit mode else question is in add mode. if (strPrm.Contains(",") && strPrm.Split(',').Length > 2) { int.TryParse(strPrm.Split(',')[0], out DocumentId); int.TryParse(strPrm.Split(',')[1], out DocumentQuestionId); int.TryParse(strPrm.Split(',')[2], out StepID); } else if (strPrm.Contains(",") && strPrm.Split(',').Length > 1) { int.TryParse(strPrm.Split(',')[0], out DocumentId); int.TryParse(strPrm.Split(',')[1], out DocumentQuestionId); StepID = 0; } else { int.TryParse(strPrm, out DocumentId); //set DocumentQuestionId equal to 0 in case of Add Question. DocumentQuestionId = 0; StepID = 0; } //if Document Id is 0 means some change in parameter. then set message Document not exist and redirect to view Document page. if (DocumentId == 0) { TempData["NoticeMessage"] = "Document Not Exist"; return(RedirectToAction("ViewDocument", "Document")); } objQuestionDetailModel.DocumentID = DocumentId; objQuestionDetailModel.QuestionID = DocumentQuestionId; objQuestionDetailModel.StepID = StepID; //initial set of current page, pageSize , Total pages objViewQuestionModel.CurrentPage = 1; objViewQuestionModel.TotalPages = 0; objViewQuestionModel.QuestionDetail = objQuestionDetailModel; //Get Question Type List to fill dropdown of Question Type FillQuestionType(); if (StepID > 0) { objViewQuestionModel.PageSize = int.MaxValue - 1; //ViewBag.ParentQuestionList List <DropdownModel> objDropdown = new List <DropdownModel>(); List <DropdownModel> objParentSeSession = new List <DropdownModel>(); //Get Question in Add or Edit Model and also show Question List based on Document and sorting paging parameters serviceResponse = objUtilityWeb.PostAsJsonAsync(WebApiURL.Question + "/GetQuestions", objViewQuestionModel); objViewQuestionModel = serviceResponse.StatusCode == HttpStatusCode.OK ? serviceResponse.Content.ReadAsAsync <ViewQuestionModel>().Result : null; foreach (QuestionDetailModel objItem in objViewQuestionModel.QuestionsList) { DropdownModel objDropdownModel = new DropdownModel(); objDropdownModel.ID = objItem.QuestionID; objDropdownModel.Value = objItem.QuestionDescription; if (objItem.QuestionType == CommonUtils.QuestionType.DropDown.ToString() || objItem.QuestionType == CommonUtils.QuestionType.SingleSelect.ToString()) { objDropdown.Add(objDropdownModel); objParentSeSession.Add(new DropdownModel { ID = objItem.QuestionID, Value = objItem.ParentDDLText }); } } Session["ParentSeSession"] = null; Session["ParentSeSession"] = objParentSeSession; ViewBag.ParentQuestionList = new SelectList(objDropdown, "Id", "Value", objViewQuestionModel.QuestionDetail.ParentQuestion); List <DropdownModel> objDropdownParent = new List <DropdownModel>(); if (Convert.ToInt32(objViewQuestionModel.QuestionDetail.ParentQuestion) > 0) { if (Session["ParentSeSession"] != null) { string OptionText = objParentSeSession.Where(x => x.ID == Convert.ToInt32(objViewQuestionModel.QuestionDetail.ParentQuestion)).FirstOrDefault().Value; StringReader theReader = new StringReader("<XmlDS>" + OptionText + "</XmlDS>"); DataSet theDataSet = new DataSet(); theDataSet.ReadXml(theReader); foreach (DataRow item in theDataSet.Tables[0].Rows) { if (item["Value"].ToString() == objViewQuestionModel.QuestionDetail.ParentAnswer.ToString()) { objViewQuestionModel.QuestionDetail.ParentAnswer = item["ID"].ToString(); } objDropdownParent.Add(new DropdownModel { ID = Convert.ToInt32(item["ID"]), Value = item["Value"].ToString() //, //Selected = item["Value"].ToString() == objViewQuestionModel.QuestionDetail.ParentAnswer.ToString() ? true : false }); } } } ViewBag.ParentAnswerList = new SelectList(objDropdownParent, "Id", "Value", objViewQuestionModel.QuestionDetail.ParentAnswer); if (objViewQuestionModel.QuestionDetail.QuestionType == CommonUtils.QuestionType.DropDown.ToString()) { DropDownValue(objViewQuestionModel.QuestionDetail.DropDownXML); } } else { objViewQuestionModel.PageSize = CommonUtils.PageSize; //Get Question in Add or Edit Model and also show Question List based on Document and sorting paging parameters serviceResponse = objUtilityWeb.PostAsJsonAsync(WebApiURL.Question + "/GetQuestions", objViewQuestionModel); objViewQuestionModel = serviceResponse.StatusCode == HttpStatusCode.OK ? serviceResponse.Content.ReadAsAsync <ViewQuestionModel>().Result : null; } objViewQuestionModel.QuestionTypeDetail = new QuestionTypeDetailModel(); //if question is in edit mode than set Question properties based on quetion type if (objViewQuestionModel != null && objViewQuestionModel.QuestionDetail != null && !String.IsNullOrEmpty(objViewQuestionModel.QuestionDetail.QuestionType)) { objViewQuestionModel.QuestionTypeDetail = objCommonUtils.SetQuestionProperties(objViewQuestionModel.QuestionDetail.QuestionType, objViewQuestionModel.QuestionPropertyList, objViewQuestionModel.QuestionTypeDetail, objViewQuestionModel.QuestionDetail.QuestionOptionsList, objViewQuestionModel.QuestionDetail.DropDownXML); } //if Success Message is not null and empty means question save successfully than set Success Message if (TempData["QuestionSucessMessage"] != null && Convert.ToString(TempData["QuestionSucessMessage"]) != "") { objViewQuestionModel.Message = Convert.ToString(TempData["QuestionSucessMessage"]); objViewQuestionModel.MessageType = CommonUtils.MessageType.Success.ToString().ToLower(); TempData["QuestionSucessMessage"] = null; } else if (objViewQuestionModel.QuestionDetail.IsPublish && objViewQuestionModel.QuestionDetail.QuestionID <= 0) { objViewQuestionModel.Message = "Can Not Edit Document"; objViewQuestionModel.MessageType = CommonUtils.MessageType.Notice.ToString().ToLower(); } StepDropDown(objViewQuestionModel.QuestionDetail.StepID, objViewQuestionModel.QuestionDetail.DocumentID); } } catch (Exception ex) { ErrorLog(ex, "Question", "SaveQuestion Get"); } return(View("SaveQuestion", objViewQuestionModel)); }