Beispiel #1
0
        public GenericResponseViewModel Post(RegisterTutorshipParametersViewModel parameters)
        {
            var currentUser = userManager.FindById(User.Identity.GetUserId());
            var tutorship   = new Tutorship
            {
                teacherID     = parameters.teacherID,
                studentID     = currentUser.Id,
                courseID      = parameters.courseID,
                reserved      = parameters.reserved,
                tutorshipType = parameters.tutorshipType,
                motive        = parameters.motive,
                date          = parameters.date,
                hour          = parameters.hour,
                duration      = parameters.duration
            };

            tutorialActionContext.Tutorships.Add(tutorship);
            tutorialActionContext.SaveChanges();

            return(new GenericResponseViewModel
            {
                statusCode = "200",
                message = "Tutoría registrada correctamente."
            });
        }
        public IHttpActionResult Post(ReserveCompletionParametersViewModel parameters)
        {
            var currentUser = userManager.FindById(User.Identity.GetUserId());
            var reserve     = tutorialActionContext.Reserves.Find(parameters.reserveID);

            if (reserve != null && reserve.teacherID == currentUser.Id)
            {
                var tutorship = new Tutorship
                {
                    teacherID     = reserve.teacherID,
                    studentID     = reserve.studentID,
                    courseID      = reserve.courseID,
                    reserved      = true,
                    tutorshipType = reserve.tutorshipType,
                    motive        = reserve.motive,
                    date          = reserve.date,
                    hour          = reserve.hour,
                    duration      = parameters.duration
                };

                tutorialActionContext.Reserves.Remove(reserve);
                tutorialActionContext.Tutorships.Add(tutorship);
                tutorialActionContext.SaveChanges();

                return(Ok(new GenericResponseViewModel
                {
                    statusCode = "200",
                    message = "Reserva completada correctamente."
                }));
            }
            else
            {
                return(Ok(new GenericResponseViewModel
                {
                    statusCode = "400",
                    message = "Error en la consulta: no existe una reserva con ese ID"
                }));
            }
        }
Beispiel #3
0
        public List <TutorshipResponseViewModel> Get()
        {
            var currentUser = userManager.FindById(User.Identity.GetUserId());
            var userRole    = roleManager.FindById(currentUser.Roles.First().RoleId).Name;

            if (userRole == "teacher")
            {
                return(tutorialActionContext.Tutorships
                       .Where(t => t.teacherID == currentUser.Id)
                       .Select(Tutorship.parseToTutorshipResponseViewModel(userRole))
                       .ToList());
            }
            else if (userRole == "student")
            {
                return(tutorialActionContext.Tutorships
                       .Where(r => r.studentID == currentUser.Id)
                       .Select(Tutorship.parseToTutorshipResponseViewModel(userRole))
                       .ToList());
            }
            else
            {
                return(new List <TutorshipResponseViewModel>());
            }
        }