public async Task <ActionResult> CreateMessage([Bind(Include = "student_id,student_Name,message")] Models.StudentMessage message) { // Initialize the GraphServiceClient. GraphServiceClient graphClient = SDKHelper.GetAuthenticatedClient(); var userDetails = await eventsService.GetMyDetails(graphClient); StudentMessage msg = new StudentMessage(); msg.student_id = userDetails.Mail ?? userDetails.UserPrincipalName; msg.student_Name = userDetails.DisplayName; msg.message = Request.Form["message"]; msg.Date_Created = DateTime.Now; msg.is_archived = false; OfficeHoursContext officeHoursContext = new OfficeHoursContext(); List <Faculty> faculties = officeHoursContext.faculties.ToList(); msg.Email = Session["facultyMail"].ToString(); try { officeHoursContext.messages.Add(msg); officeHoursContext.SaveChanges(); } catch (RetryLimitExceededException /* dex */) { //Log the error (uncomment dex variable name and add a line here to write a log.) ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator."); } return(RedirectToAction("MessageView", "Student").Success("Message created and sent to faculty")); }
public ActionResult DeleteConfirmed(int id) { StudentMessage studentMessage = db.messages.Find(id); db.messages.Remove(studentMessage); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Id,student_id,student_Name,message,Date_Created,is_archived,Email")] StudentMessage studentMessage) { if (ModelState.IsValid) { db.Entry(studentMessage).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.Email = new SelectList(db.faculties, "Email", "first_Name", studentMessage.Email); return(View(studentMessage)); }
public async Task <IActionResult> AddStudentAsync([FromBody] StudentMessage request) { try { return(Json(await _studentClient.AddStudentAsync(request))); } catch (Exception ex) { _logger.LogError(ex, ex.Message); return(StatusCode(500, "Internal server error")); } }
public async Task <IActionResult> AddStudentAsync([FromBody] StudentMessage request) { try { return(Json(await _studentService.AddStudentAsync(request))); } catch (Exception ex) { //Can add logger return(StatusCode(500, "Internal server error")); } }
// GET: FacultyMessages/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StudentMessage studentMessage = db.messages.Find(id); if (studentMessage == null) { return(HttpNotFound()); } return(View(studentMessage)); }
// GET: FacultyMessages/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StudentMessage studentMessage = db.messages.Find(id); if (studentMessage == null) { return(HttpNotFound()); } ViewBag.Email = new SelectList(db.faculties, "Email", "first_Name", studentMessage.Email); return(View(studentMessage)); }
public async Task <ActionResult <CreateStudentsOutputModel> > AddStudent(CreateStudentCommand command) { var messageData = new StudentMessage(); var message = new Message(messageData); command.MessageData = message; var result = await Send(command); await _publisher.Publish(messageData); //todo uncomment- removed temporary messaging //await _studentService.MarkMessageAsPublished(message.Id); return(result); }
// GET: FacultyMessages/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StudentMessage studentMessage = db.messages.Find(id); if (studentMessage == null) { return(HttpNotFound()); } studentMessage.is_archived = true; db.Entry(studentMessage).State = EntityState.Modified; db.SaveChanges(); return(View(studentMessage)); }
public async Task <StudentMessage> UpdateStudentAsync(StudentMessage request) { var studentEntity = await _dbContext.Students.FirstOrDefaultAsync(x => x.Id == request.Id); if (studentEntity == null) { throw new ArgumentException($"Student with id {request.Id} not found"); } studentEntity.FirstName = request.FirstName; studentEntity.LastName = request.LastName; studentEntity.Age = request.Age; studentEntity.GroupId = request.GroupId; await _dbContext.SaveChangesAsync(); return(request); }
public async Task <StudentMessage> AddStudentAsync(StudentMessage request) { var studentEntity = new StudentEntity { FirstName = request.FirstName, LastName = request.LastName, Age = request.Age, GroupId = request.GroupId }; await _dbContext.Students.AddAsync(studentEntity); await _dbContext.SaveChangesAsync(); request.Id = studentEntity.Id; return(request); }
public async Task <StudentMessage> UpdateStudentAsync(StudentMessage studentRequest) { using (var httpClient = new HttpClient()) { httpClient.BaseAddress = new Uri(_host); var request = new HttpRequestMessage(HttpMethod.Put, $"gateway/student"); var content = new StringContent(JsonConvert.SerializeObject(studentRequest), Encoding.UTF8, "application/json"); request.Content = content; var response = await httpClient.SendAsync(request); response.EnsureSuccessStatusCode(); var responseString = await response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <StudentMessage>(responseString)); } }
public async Task <IActionResult> UpdateStudentAsync([FromBody] StudentMessage requestModel) { if (!ModelState.IsValid) { return(BadRequest()); } try { return(Json(await _studentClient.UpdateStudentAsync(requestModel))); } catch (ArgumentException ex) { return(StatusCode(404, ex.Message)); } catch (Exception ex) { _logger.LogError(ex, ex.Message); return(StatusCode(500, "Internal server error")); } }
public async Task <ActionResult> Edit([Bind(Include = "Id,student_id,student_Name,message,Date_Created,is_archived,Email")] StudentMessage studentMessage) { // Initialize the GraphServiceClient. GraphServiceClient graphClient = SDKHelper.GetAuthenticatedClient(); var userDetails = await eventsService.GetMyDetails(graphClient); if (ModelState.IsValid) { studentMessage.Date_Created = DateTime.Now; studentMessage.Email = Session["facultyMail"].ToString(); studentMessage.is_archived = false; studentMessage.student_id = userDetails.Mail; studentMessage.student_Name = userDetails.DisplayName; db.Entry(studentMessage).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.Email = new SelectList(db.faculties, "Email", "first_Name", studentMessage.Email); return(View(studentMessage).Success("Message Edited.")); }