Exemple #1
0
        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));
 }
Exemple #4
0
 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"));
     }
 }
Exemple #5
0
 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));
        }
Exemple #8
0
        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);
        }
Exemple #12
0
        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));
            }
        }
Exemple #13
0
        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."));
        }