public void OnNav(string destination) { DebugText = "Current ViewModel changed "; expertViewModel = null; studentViewModel = null; switch (destination) { case "Expert": expertViewModel = new ExpertViewModel(); CurrentViewModel = expertViewModel; ExpertButtonIsEnabled = false; StudentButtonIsEnabled = true; break; case "Student": studentViewModel = new StudentViewModel(); CurrentViewModel = studentViewModel; ExpertButtonIsEnabled = true; StudentButtonIsEnabled = false; break; case "MainWindow": default: CurrentViewModel = this; break; } }
public List <Survey> GetRequestedSurvey(ExpertViewModel e) { string query = "SELECT * FROM SURVEY AS S WHERE EXPERT_UNAME='" + e.EXPERT_UNAME + "' AND S.SURVEY_ID NOT IN(SELECT R.SURVEY_ID FROM RECOMMEND AS R)"; return(ConvertDataTable <Survey>(db.ExecuteReader(query))); }
public void InsertQual(ExpertViewModel e) { string StoredProcedureName = StoredProcedures.InsertQualifications; Dictionary <string, object> Parameters = new Dictionary <string, object>(); Parameters.Add("@USERNAME", e.EXPERT_UNAME); Parameters.Add("@QUALI", e.QUALIFICATIONS); db.ExecuteNonQuery_proc(StoredProcedureName, Parameters); }
public List <Survey> GetRequestedSurvey(ExpertViewModel e) { string storedProcedureName = StoredProcedures.GetRequestedSurvey; Dictionary <string, object> Parameters = new Dictionary <string, object>(); Parameters.Add("@ExpertName", e.EXPERT_UNAME); return(ConvertDataTable <Survey>(db.ExecuteReader_proc(storedProcedureName, Parameters))); }
public ActionResult ApplyExpert(ExpertViewModel e) { if (ModelState.IsValid) { string Email = User.Identity.Name; db.InsertExpert(Email, e.BIO, e.QUALIFICATIONS, e.BYEAR); return(RedirectToAction("index", "home")); } return(View(e)); }
public ActionResult ApplyExpert() { string Email = User.Identity.Name; ExpertViewModel e = new ExpertViewModel(); e.EXPERT_UNAME = db.GetUserName(Email); if (db.IsExpert(Email)) { return(RedirectToAction("IsExpert", "Authorization")); } return(View(e)); }
public async Task <IActionResult> AddExpert(string email, string description, string projectId) { var profile = await _personalDataService.FindClientsByEmail(email); if (profile == null) { return(Json(new { Error = "User with this email does not exist!" })); } var expert = ExpertViewModel.Create(profile, projectId, description); try { await _projectExpertsRepository.SaveAsync(expert); } catch (Exception) { return(Json(new { Error = "This user is already an expert for this project!" })); } return(Json(expert)); }
public async Task <IActionResult> Index(Guid appealId, int?key, string secretKey) { // Get chat session from database var chatSession = await chatRepository.GetChatSession(appealId); // Check if chat session is null if (chatSession == null) { return(NotFound("Сессии по данному идентификатору апеллянта не существует")); } // Set varable: current date less than start time of chat var isBefore = DateTime.Now < chatSession.StartTime; // var isAfter = DateTime.Now > chatSession.FinishTime; // Get member replacement from database var replacement = await chatRepository.GetReplacement(appealId); // var sessionModel = new SessionViewModel { AppealId = appealId, Session = chatSession, IsAfter = isAfter, IsBefore = isBefore, IsActive = !isBefore && !isAfter && !chatSession.IsEarlyCompleted, IsReplaced = replacement?.OldMember != null }; // Check if current date less than start time of chat if (isBefore) { return(View("Before", sessionModel)); } // var clientType = key > 0 ? ContextType.Expert : ContextType.Appeal; // if (clientType == ContextType.Expert) { if (replacement?.OldMember == null) { // Before expert replacement if (chatSession.CurrentExpertKey == null) { chatSession.CurrentExpertKey = key; if (!await chatRepository.UpdateSession(chatSession)) { return(BadRequest("Не удалось обновить запись таблицы")); } } } else if (replacement.OldMember != key && replacement.ReplaceTime == null) { // During expert replacement if (replacement.NewMember == null) { replacement.NewMember = key; } // replacement.ReplaceTime = DateTime.Now; // Update member replacement if (!await chatRepository.UpdateReplacement(replacement)) { return(BadRequest("Не удалось обновить запись таблицы")); } // var waitingTime = replacement.ReplaceTime.Value.Subtract(replacement.RequestTime.Value); // chatSession.FinishTime = chatSession.FinishTime.Add(waitingTime); // chatSession.CurrentExpertKey = key; // Update session if (!await chatRepository.UpdateSession(chatSession)) { return(BadRequest("Не удалось обновить запись таблицы")); } // await chatContext.Clients.User(appealId.ToString()).CompleteChange(key); } // if (key != chatSession.CurrentExpertKey) { sessionModel.IsActive = false; } // var expertModel = new ExpertViewModel { SessionModel = sessionModel, ExpertKey = key, Messages = await chatRepository.GetChatMessages(appealId), QuickReplies = await chatRepository.GetQuickReplies() }; // return(View("Expert", expertModel)); } else if (clientType == ContextType.Appeal) { // Check if current date more than chat finish time or chat has been early completed if (isAfter || chatSession.IsEarlyCompleted) { return(View("After", sessionModel)); } // var isWaiting = replacement?.OldMember != null && replacement?.NewMember == null; // var appealModel = new AppealViewModel { SessionModel = sessionModel, Messages = await chatRepository.GetChatMessages(appealId), IsWaiting = isWaiting }; // return(View("Appeal", appealModel)); } return(BadRequest()); }
public ActionResult InsertQual(ExpertViewModel e) { e.EXPERT_UNAME = (string)TempData["expert"]; db.InsertQual(e); return(RedirectToAction("Index", "Home")); }