Exemplo n.º 1
0
 public static void AddNewTeacher(CTeacher teacher, int userId)
 {
     try
     {
         using (var db = new RecContext())
         {
             var dbTeacher = new Teacher
             {
                 FirstName = teacher.FirstName,
                 LastName  = teacher.LastName,
                 Email     = teacher.EmailAddress
             };
             db.Add(dbTeacher);
             db.SaveChanges();
             var teacherId  = db.Teacher.Where(t => t.Email == teacher.EmailAddress).Select(t => t.TeacherId).First();
             var recTeacher = new RecTeacher
             {
                 TeacherId       = teacherId,
                 RecId           = GetRecIdForUser(userId, db),
                 IsAdministrator = teacher.IsAdministrator,
             };
             if (teacher.IsDisabled)
             {
                 recTeacher.DisableDate = DateTime.Now;
             }
             db.Add(recTeacher);
             foreach (CClassTerm classTerm in teacher.ClassesTaught)
             {
                 db.Add(new ClassTermTeacher
                 {
                     ClassTermId = classTerm.ClassTermId,
                     TeacherId   = teacherId
                 });
             }
             db.SaveChanges();
         }
     }
     catch (Exception e)
     {
         var sException = new ServerException(e.Message, e, false);
         LogServerException(sException);
     }
 }
Exemplo n.º 2
0
        public static void UpdateExistingTeacher(CTeacher teacher, int userId)
        {
            try
            {
                using (var db = new RecContext())
                {
                    var dbTeacher = db.Teacher.Where(t => t.TeacherId == teacher.TeacherId).First();
                    db.Update(dbTeacher);
                    dbTeacher.FirstName = teacher.FirstName;
                    dbTeacher.LastName  = teacher.LastName;
                    dbTeacher.Email     = teacher.EmailAddress;
                    var recId      = GetRecIdForUser(userId, db);
                    var recTeacher = db.RecTeacher.Where(rt => rt.TeacherId == teacher.TeacherId && rt.RecId == recId).FirstOrDefault();
                    db.Update(recTeacher);
                    recTeacher.IsAdministrator = teacher.IsAdministrator;
                    if (teacher.IsDisabled)
                    {
                        recTeacher.DisableDate = DateTime.Now;
                    }

                    foreach (CClassTerm classTerm in teacher.ClassesTaught)
                    {
                        var dbClassTerm = db.ClassTermTeacher.Where(ctt => ctt.TeacherId == teacher.TeacherId && ctt.ClassTermId == classTerm.ClassTermId).FirstOrDefault();
                        if (dbClassTerm == null)
                        {
                            db.Add(new ClassTermTeacher
                            {
                                ClassTermId = classTerm.ClassTermId,
                                TeacherId   = teacher.TeacherId
                            });
                        }
                        else if (classTerm.Operation == Operation.Deleted)
                        {
                            db.Remove(dbClassTerm);
                        }
                    }
                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                var sException = new ServerException(e.Message, e, false);
                LogServerException(sException);
            }
        }
Exemplo n.º 3
0
        public static void UpdateAttendance(CSession sessionAttendance)
        {
            List <Attendance> attendanceList = new List <Attendance>();

            try
            {
                using (var db = new RecContext())
                {
                    foreach (CAttendance student in sessionAttendance.Students)
                    {
                        var  dbObject     = db.Attendance.Where(a => a.SessionId == sessionAttendance.SessionId && a.StudentId == student.StudentId).FirstOrDefault();
                        bool doesNotExist = dbObject == null;
                        if (doesNotExist)
                        {
                            db.Add(new Attendance
                            {
                                AttendanceStatusId = (int)student.AttendanceStatusId,
                                ReasonId           = student.ReasonId,
                                SessionId          = sessionAttendance.SessionId,
                                StudentId          = student.StudentId,
                                CreationDtTm       = DateTime.Now
                            });
                        }
                        else
                        {
                            db.Update(dbObject);
                            dbObject.AttendanceStatusId = (int)student.AttendanceStatusId;
                            dbObject.ReasonId           = student.ReasonId;
                            dbObject.CreationDtTm       = DateTime.Now;
                        }
                    }
                    db.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                var sException = new ServerException(e.Message, e, false);
                LogServerException(sException);
            }
        }