public IActionResult Update(long id, CourseSession request)
        {
            RequiredFields model = new RequiredFields();

            model.CourseSession = request;
            Object validateFields = _validationService.ValidateRequest("Course Session", model);

            if (JsonConvert.SerializeObject(validateFields).Length > 2)
            {
                return(BadRequest(validateFields));
            }

            try
            {
                var output = _courseSessionRepository.Update(id, request);
                if (output == true)
                {
                    return(Ok(new GenericResult {
                        Response = true, Message = "Session has been successfully updated"
                    }));
                }
                else
                {
                    return(NotFound(_NotFound));
                }
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }
        }
Exemplo n.º 2
0
        public ActionResult DeleteConfirmed(int id)
        {
            CourseSession courseSession = db.CourseSessions.Find(id);

            db.CourseSessions.Remove(courseSession);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 3
0
        public ActionResult ChangeStatus(TeacherChangeCourse cs)
        {
            DAL.DataContext dt   = new DAL.DataContext();
            CourseSession   myCs = dt.CourseSessions.Where(c => c.Id == cs.SeId).FirstOrDefault();

            myCs.Status = "Accepted";
            dt.SaveChanges();
            return(RedirectToAction("TeacherSchedule", "Account"));
        }
Exemplo n.º 4
0
 public bool Add(CourseSession request)
 {
     //var output = false;
     //return output;
     request.createdAt = DateTime.Now;
     _context.CourseSession.Add(request);
     Save();
     return(true);
     //await _context.SaveChangesAsync();
 }
Exemplo n.º 5
0
    public HttpResponseMessage<CourseSession> AddCourseSession(CourseSession coursesession)
    {
        // Add the region that was passed in as the argument
            context.CourseSessions.Add(coursesession);
            context.SaveChanges();

            // Prepare the response - we want to return "201 Created"
            HttpResponseMessage<CourseSession> response = new HttpResponseMessage<CourseSession>(coursesession, HttpStatusCode.Created);
            return response;
    }
Exemplo n.º 6
0
 public ActionResult Edit([Bind(Include = "Sessionid,CourseID,CourseDuration,CourseStartTime,CourseEndTime,CourseStartDate,CourseEndDate,CourseLocation,SessionName,CoursePrerequisite")] CourseSession courseSession)
 {
     if (ModelState.IsValid)
     {
         db.Entry(courseSession).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CourseID = new SelectList(db.Courses, "CourseID", "CourseName", courseSession.CourseID);
     return(View(courseSession));
 }
Exemplo n.º 7
0
 public ActionResult Edit([Bind(Include = "ID,InstructorID,CourseID,DayOfWeek,DateTime,HourStart,HourEnd")] CourseSession courseSession)
 {
     if (ModelState.IsValid)
     {
         db.Entry(courseSession).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CourseID     = new SelectList(db.Courses, "CourseID", "Title", courseSession.CourseID);
     ViewBag.InstructorID = new SelectList(db.Instructors, "ID", "LastName", courseSession.InstructorID);
     return(View(courseSession));
 }
Exemplo n.º 8
0
        // GET: CourseSessions/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CourseSession courseSession = db.CourseSessions.Find(id);

            if (courseSession == null)
            {
                return(HttpNotFound());
            }
            return(View(courseSession));
        }
Exemplo n.º 9
0
        // GET: CourseSessions/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CourseSession courseSession = db.CourseSessions.Find(id);

            if (courseSession == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CourseID = new SelectList(db.Courses, "CourseID", "CourseName", courseSession.CourseID);
            return(View(courseSession));
        }
Exemplo n.º 10
0
        public long Save(CourseSessionModel model)
        {
            CourseSession _tbl_courseSession = new CourseSession(model);

            if (model.Id != null && model.Id != 0)
            {
                _CourseSession.Update(_tbl_courseSession);
            }
            else
            {
                _tbl_courseSession.CreatedOn = System.DateTime.Now;
                _CourseSession.Insert(_tbl_courseSession);
            }

            return(_tbl_courseSession.Id);
        }
        public ActionResult ChangeStatus(TeacherChangeCourse cs)
        {
            DAL.DataContext dt = new DAL.DataContext();

            CourseSession myCss = dt.CourseSessions.Where(c => c.Id == cs.SeId).First();
            int           fee   = myCss.Course.Cost;

            User teacher = myCss.Teacher;
            User stu     = myCss.Student;

            myCss.Status    = "Completed";
            teacher.Balance = teacher.Balance + fee;
            stu.Balance     = stu.Balance - fee;
            dt.SaveChanges();

            return(RedirectToAction("MySchedule", "Account"));
        }
Exemplo n.º 12
0
        public ActionResult Create([Bind(Include = "ID,InstructorID,CourseID,DayOfWeek,DateTime,HourStart,HourEnd")] CourseSession courseSession)
        {
            if (ModelState.IsValid)
            {
                //Check Instructor can have only one coursesession of the same course
                List <CourseSession> sessions = new List <CourseSession>();
                sessions = db.CourseSessions.ToList();
                foreach (var item in sessions)
                {
                    if (courseSession.InstructorID == item.InstructorID && courseSession.CourseID == item.CourseID)
                    {
                        ViewBag.CourseID     = new SelectList(db.Courses, "CourseID", "Title");
                        ViewBag.InstructorID = new SelectList(db.Instructors, "ID", "LastName");
                        ViewBag.ErrorMessage = ErrorMessages.ErrorMessageSameCourse();
                        return(View());
                    }
                }
                //Check minimal duration of one coursesession
                if ((courseSession.Duration) < 1)
                {
                    ViewBag.CourseID     = new SelectList(db.Courses, "CourseID", "Title");
                    ViewBag.InstructorID = new SelectList(db.Instructors, "ID", "LastName");
                    ViewBag.ErrorMessage = ErrorMessages.ErrorMessageNegativeTime();
                    return(View());
                }

                //Check that the day of course is the same of the date start
                if (courseSession.DayOfWeek.ToString() != courseSession.DateTime.DayOfWeek.ToString())
                {
                    ViewBag.CourseID     = new SelectList(db.Courses, "CourseID", "Title");
                    ViewBag.InstructorID = new SelectList(db.Instructors, "ID", "LastName");
                    ViewBag.ErrorMessage = ErrorMessages.ErrorMessageNotSameDay();
                    return(View());
                }

                db.CourseSessions.Add(courseSession);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.CourseID     = new SelectList(db.Courses, "CourseID", "Title", courseSession.CourseID);
            ViewBag.InstructorID = new SelectList(db.Instructors, "ID", "LastName", courseSession.InstructorID);
            return(View(courseSession));
        }
        public IHttpActionResult SaveCourseSession(UserSaveCourse cs)
        {
            DAL.DataContext dt    = new DAL.DataContext();
            Course          my_cs = dt.Courses.Include("Teacher").Where(c => c.Id == cs.CourseId).FirstOrDefault();
            CourseSession   css   = new CourseSession();

            css.Teacher = my_cs.Teacher;
            css.Course  = my_cs;
            DateTime oDate = DateTime.ParseExact(cs.MyTime, "yyyy-MM-dd HH:mm", null);

            css.When = oDate;
            User current = dt.Users.Find(User.Identity.GetUserId());

            css.Student = current;
            css.Status  = "Waiting Accept";
            dt.CourseSessions.Add(css);
            dt.SaveChanges();
            return(Ok());
        }
Exemplo n.º 14
0
        public void Test_UpdateSessionCapacity()
        {
            var           data            = new EfData();
            TimeSpan      startTime       = new TimeSpan(0, 15, 25, 00);
            TimeSpan      endTime         = new TimeSpan(0, 17, 00, 00);
            CourseSession sessionToUpdate = new CourseSession {
                CourseId = 1, Professor = "Bob Smith", Capacity = 40, DaysInSession = "TH", StartTime = startTime, EndTime = endTime
            };

            //Add test session
            data.InsertSession(sessionToUpdate);

            int updatedCapacity = 50;
            var actual          = data.UpdateSessionCapacity(updatedCapacity, sessionToUpdate.Id);

            Assert.True(actual);

            //Remove any test data
            data.RemoveSession(sessionToUpdate);
        }
Exemplo n.º 15
0
        public bool DuplicateSession(long id, CourseSession request)
        {
            var output        = false;
            var currentRecord = _context.CourseSession.Where(x => x.id == id)
                                .FirstOrDefault();

            if (currentRecord != null)
            {
                CourseSession newRequest = new CourseSession();
                newRequest           = request;
                newRequest.id        = 0;
                newRequest.createdAt = DateTime.Now;
                newRequest.updatedAt = DateTime.Now;


                _context.CourseSession.Add(newRequest);
                _context.SaveChanges();
                output = true;
            }
            return(output);
        }
 public IActionResult CopySession(long id, CourseSession request)
 {
     try
     {
         var response = _courseSessionRepository.DuplicateSession(id, request);
         if (response == true)
         {
             return(Ok(new GenericResult {
                 Response = response, Message = "Session has been copied!"
             }));
         }
         else
         {
             return(NotFound(_NotFound));
         }
     }
     catch (Exception e)
     {
         return(BadRequest());
     }
 }
Exemplo n.º 17
0
        public bool Update(long id, CourseSession request)
        {
            var           output = false;
            CourseSession model  = GetById(id);

            if (model != null)
            {
                model.courseId           = request.courseId;
                model.sessionTypeId      = request.sessionTypeId;
                model.sessionLocation    = request.sessionLocation;
                model.userGroupId        = request.userGroupId;
                model.capacity           = request.capacity;
                model.startDate          = request.startDate;
                model.endDate            = request.endDate;
                model.duration           = request.duration;
                model.courseInstructorId = request.courseInstructorId;
                model.title       = request.title;
                model.description = request.description;
                model.updatedAt   = DateTime.Now;
                Save();
                output = true;
            }
            return(output);
        }
        public IActionResult Store(CourseSession request)
        {
            RequiredFields model = new RequiredFields();

            model.CourseSession = request;
            object validateFields = _validationService.ValidateRequest("Course Session", model);

            if (JsonConvert.SerializeObject(validateFields).Length > 2)
            {
                return(BadRequest(validateFields));
            }

            try
            {
                _courseSessionRepository.Add(request);
                return(Ok(new GenericResult {
                    Response = true, Message = "Session has been successfully added"
                }));
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }
        }
Exemplo n.º 19
0
 private bool isExists(CourseSession request)
 {
     return(_context.CourseSession.Where(x => x.id == request.id).Any());
 }
Exemplo n.º 20
0
        public async Task <ActionResult> LaunchCourse(int CourseId, string code)
        {
            TenantRepository tr   = new TenantRepository();
            var     tenantList    = tr.VerifyTenantDomain(Request.Url.Host);
            TblUser sessionUser   = (TblUser)Session["UserSession"];
            var     courseBaseURL = System.Configuration.ConfigurationManager.AppSettings["CourseBaseURL"];

            if (sessionUser == null)
            {
                if (string.IsNullOrEmpty(code))
                {
                    CourseSession courseSession = new CourseSession();
                    courseSession.CourseId = CourseId;
                    Session["CourseId"]    = CourseId;
                    return(Redirect("https://pumplace.plek.co/oidc/auth?client_id=1663f8ca-7b8a-42eb-ae3b-845e32be1baf&scope=openid&response_type=code&redirect_uri=https://quiz.rockettech.co.nz/"));
                }
                else
                {
                    using (var client = new HttpClient())
                    {
                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                        client.DefaultRequestHeaders.Add("Access-Control-Allow-Origin", "*");
                        string tokenApi = "https://pumplace.plek.co/oidc/token";
                        var    values   = new Dictionary <string, string>();
                        values.Add("client_id", "1663f8ca-7b8a-42eb-ae3b-845e32be1baf");
                        values.Add("client_secret", "TZD4Jr837e6uymsJdyxH2jk8qxGQiK7gXDCmYqtC");
                        values.Add("grant_type", "authorization_code");
                        values.Add("code", code);
                        values.Add("redirect_uri", "https://quiz.rockettech.co.nz/");

                        var content = new FormUrlEncodedContent(values);

                        var responseTask = await client.PostAsync(tokenApi, content);

                        var result = await responseTask.Content.ReadAsStringAsync();

                        var    data  = (JObject)JsonConvert.DeserializeObject(result);
                        string token = data["access_token"].Value <string>();//Access Token Received

                        //Now get User Details
                        string userApi = "https://pumplace.plek.co/oidc/me";

                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                        client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);

                        HttpResponseMessage response = await client.GetAsync(userApi);

                        if (response.IsSuccessStatusCode)
                        {
                            string jsondata = await response.Content.ReadAsStringAsync();

                            var    userData = (JObject)JsonConvert.DeserializeObject(jsondata);
                            string email    = userData["email"].Value <string>();
                            string name     = userData["username"].Value <string>();

                            var userId = ur.IsUserExist(email, Request.Url.Host);

                            if (userId == 0)
                            {
                                try
                                {
                                    //Create user
                                    TblUser newUser = new TblUser();
                                    newUser.FirstName = name;
                                    newUser.EmailId   = email;
                                    newUser.RoleId    = 3;
                                    newUser.IsActive  = true;
                                    newUser.CreatedBy = 1;
                                    CommonFunctions common = new CommonFunctions();
                                    newUser.Password = common.GetEncodePassword("123456");


                                    newUser.TenantId = tenantList[0].TenantId;

                                    var newUserId = ur.AddUser(newUser);
                                    var assign    = cr.AssignCourse(CourseId, newUserId, null);
                                    userId = newUserId;
                                }
                                catch (Exception ex)
                                {
                                    newException.AddException(ex);
                                }
                            }
                            else
                            {
                                try
                                {
                                    var isAssigned = cr.CheckCourseAssignedUser(CourseId, userId);
                                    if (!isAssigned)
                                    {
                                        var assign = cr.AssignCourse(CourseId, userId, null);
                                    }
                                }
                                catch (Exception ex)
                                {
                                    newException.AddException(ex);
                                }
                            }

                            var urlNew = courseBaseURL + "?AID=" + CourseId + "&LID=" + userId;
                            return(Redirect(urlNew));
                            //return Content("<script>window.open('" + urlNew + "','_blank')</script>");
                        }
                    }
                }
            }

            List <tblCourse>  CourseDetails = new List <tblCourse>();
            CoursesRepository courseRepo    = new CoursesRepository();

            CourseDetails = courseRepo.GetCourseById(CourseId);
            var url = courseBaseURL + "?AID=" + CourseId + "&LID=" + sessionUser.UserId;

            CourseDetails[0].ContentModuleURL = url;
            if (tenantList[0].TenantId == 6)
            {
                return(Content("<script>window.open('" + url + "','_blank')</script>"));
            }
            else
            {
                return(View(CourseDetails[0]));
            }

            //return Redirect(url);
            //return Content("<script>window.open('" + url + "','_blank')</script>");
        }