Example #1
0
        private static void CreateNewLesson(JObject Lesson, DataModels.Context Context)
        {
            var newLesson = new Lesson();

            AssignValuesFromJson(Lesson, Context, newLesson);
            Context.Lessons.Add(newLesson);
            Context.SaveChanges();
            Lesson["id"] = newLesson.Id;
            InsertIntoLog(newLesson.Id, 1, Context, "שיעור חדש", null);
            Context.SaveChanges();
        }
Example #2
0
        private static void UpdateExistingLesson(JObject Lesson, DataModels.Context Context)
        {
            int LessonId  = Lesson["id"].Value <int>();
            var newLesson = Context.Lessons.SingleOrDefault(l => l.Id == LessonId);

            AssignValuesFromJson(Lesson, Context, newLesson);
            Context.Entry(newLesson).State = System.Data.Entity.EntityState.Modified;
            Context.SaveChanges();
        }
Example #3
0
        private static void ReassignStudentLessons(JObject Lesson, DataModels.Context Context)
        {
            int LessonId = Lesson["id"].Value <int>();

            int onlyMultiple = 0;

            if (Lesson["onlyMultiple"] != null)
            {
                onlyMultiple = Lesson["onlyMultiple"].Value <int>();
            }


            var TempStudentLessonsList = Context.StudentLessons.Where(sl => sl.Lesson_Id == LessonId).ToList();



            var CurrentUserRole = UsersService.GetCurrentUser().Role;

            if (CurrentUserRole == "instructor")
            {
                Context.StudentLessons.RemoveRange(Context.StudentLessons.Where(sl => sl.Lesson_Id == LessonId && sl.Status != "completionReq" && sl.Status != "completionReqCharge"));
            }
            else
            {
                Context.StudentLessons.RemoveRange(Context.StudentLessons.Where(sl => sl.Lesson_Id == LessonId));
            }


            if (Lesson["students"] != null)
            {
                var StudentIds = Lesson["students"].Values <int>().ToList();
                foreach (var StudentId in StudentIds)
                {
                    var StatusData = GetStatusDataFromJson(Lesson, StudentId);

                    string Matarot = "", Mahalak = "", HearotStatus = "", Mashov = "";

                    var TempStudentLessons = TempStudentLessonsList.Where(x => x.User_Id == StudentId).FirstOrDefault();

                    if (TempStudentLessons != null)
                    {
                        Matarot      = TempStudentLessons.Matarot;
                        Mahalak      = TempStudentLessons.Mahalak;
                        HearotStatus = TempStudentLessons.HearotStatus;
                        Mashov       = TempStudentLessons.Mashov;
                    }



                    if ((StatusData[0] == "completionReq" || StatusData[0] == "completionReqCharge") && (StatusData[2] == "0" || StatusData[2] == null))
                    {
                        StatusData[2] = "1";
                    }



                    if (StatusData[0] == "completion" && StatusData[2] == "2")
                    {
                        StatusData[0] = "completion";
                        StatusData[2] = "5";

                        var conn            = Context.Database.Connection;
                        var connectionState = conn.State;
                        if (connectionState != ConnectionState.Open)
                        {
                            conn.Open();
                        }
                        using (var cmd = conn.CreateCommand())
                        {
                            cmd.CommandText = "   UPDATE StudentLessons SET IsComplete = 2 "
                                              + "  WHERE Lesson_Id = (SELECT top 1 Lesson_Id FROM StudentLessons WHERE Lesson_Id < " + LessonId + "  and User_Id = " + StudentId
                                              + "  and Status in('completionReq','completionReqCharge') and IsComplete = 1 order by Lesson_Id desc) and User_Id = " + StudentId;



                            cmd.ExecuteNonQuery();
                        }

                        conn.Close();
                    }


                    if ((StatusData[0] == "" || StatusData[0] == null || StatusData[0] == "completion") && (StatusData[2] == "3" || StatusData[2] == "4" || StatusData[2] == "5" || StatusData[2] == "6"))
                    {
                        StatusData[0] = "completion";
                        StatusData[2] = "5";
                    }


                    if ((StatusData[0] == "notAttended") && (StatusData[2] == "3" || StatusData[2] == "4" || StatusData[2] == "5" || StatusData[2] == "6"))
                    {
                        StatusData[0] = "completion";
                        StatusData[2] = "3";
                    }

                    if ((StatusData[0] == "attended") && (StatusData[2] == "3" || StatusData[2] == "4" || StatusData[2] == "5" || StatusData[2] == "6"))
                    {
                        StatusData[0] = "completion";
                        StatusData[2] = "4";
                    }

                    if ((StatusData[0] == "notAttendedCharge") && (StatusData[2] == "3" || StatusData[2] == "4" || StatusData[2] == "5" || StatusData[2] == "6"))
                    {
                        StatusData[0] = "completion";
                        StatusData[2] = "6";
                    }

                    if ((StatusData[0] != "completion") && (StatusData[0] != "completionReq") && (StatusData[0] != "completionReqCharge"))
                    {
                        StatusData[2] = "0";
                    }

                    StudentLessons sl = new StudentLessons()
                    {
                        Lesson_Id     = LessonId,
                        User_Id       = StudentId,
                        Status        = StatusData[0],
                        Details       = StatusData[1],
                        IsComplete    = Int32.Parse((StatusData[2] == null) ? "0" : StatusData[2]),
                        HorseId       = Int32.Parse((StatusData[3] == null) ? "0" : StatusData[3]),
                        OfficeDetails = StatusData[4],
                        Matarot       = Matarot,
                        Mahalak       = Mahalak,
                        HearotStatus  = HearotStatus,
                        Mashov        = Mashov
                    };
                    Context.StudentLessons.Add(sl);
                    InsertIntoLog(LessonId, 2, Context, " עדכון סטטוס  " + StatusData[2], sl);
                }


                Context.SaveChanges();

                // if (StudentIds.Count() > 1)

                if (onlyMultiple == 1)
                {
                    AddOrRemvoveFromGroup(Context, StudentIds, LessonId);
                }
            }
        }