public void SaveOrUpdatePaidDocument(PaidDocument paidDocument)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         if (paidDocument.PaidDocumentId > 0)
         {
             //update
             var result = _unitOfWork._paidDocumentRepository.GetById((int)paidDocument.PaidDocumentId);
             if (result != null)
             {
                 result.RoleName  = paidDocument.RoleName;
                 result.FilePath  = paidDocument.FilePath;
                 result.SubjectId = paidDocument.SubjectId;
                 _unitOfWork.SaveChanges();
             }
         }
         else
         {
             //create
             _unitOfWork._paidDocumentRepository.Add(paidDocument);
             _unitOfWork.SaveChanges();
         }
     }
 }
 public void SaveOrUpdateFreeVideo(FreeVideo freeVideo)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         if (freeVideo.FreeVideoId > 0)
         {
             //update
             var result = _unitOfWork._freeVideoRepository.GetById((int)freeVideo.FreeVideoId);
             if (result != null)
             {
                 result.RoleName  = freeVideo.RoleName;
                 result.FilePath  = freeVideo.FilePath;
                 result.SubjectId = freeVideo.SubjectId;
                 _unitOfWork.SaveChanges();
             }
         }
         else
         {
             //create
             _unitOfWork._freeVideoRepository.Add(freeVideo);
             _unitOfWork.SaveChanges();
         }
     }
 }
        public dynamic GetUserBoughtItems(string name)
        {
            using (var dbContext = new DataAccess.TeachersAssistant())
            {
                _unitOfWork.InitializeDbContext(dbContext);
                var paidDocuments =
                    _unitOfWork._paidDocumentRepository.DbContextTeachersAssistant.ItemOrders.Where(
                        p => p.username.Equals(name) /*&& (bool)p.Order.paid_for*/);

                if (paidDocuments.Any())
                {
                    var paidDocs = from pd in paidDocuments.ToList()
                                   join pr in _unitOfWork._paidDocumentRepository.DbContextTeachersAssistant.ShopProducts.ToList()
                                   on pd.product_name equals pr.prodName into docs
                                   from p in docs.ToList()
                                   join q in _unitOfWork._paidDocumentRepository.GetAll().ToList() on p.DocumentId equals q.PaidDocumentId
                                   select new { ProdId = p.prodId, ProdName = p.prodName, IsDocument = true, p.prodDesc, FilePath = q.FilePath };

                    var paidVids = from pd in paidDocuments.ToList()
                                   join pr in _unitOfWork._paidVideoRepository.DbContextTeachersAssistant.ShopProducts.ToList()
                                   on pd.product_name equals pr.prodName into docs
                                   from p in docs.ToList()
                                   join q in _unitOfWork._paidVideoRepository.GetAll().ToList() on p.DocumentId equals q.PaidVideoId
                                   select new { ProdId = p.prodId, ProdName = p.prodName, IsDocument = false, p.prodDesc, FilePath = q.FilePath };

                    var result = paidDocs.ToList();
                    result.AddRange(paidVids.ToList());
                    return(result);
                }
                return(null);
            }
        }
        public void ManageClassRoom(Classroom classRoomModel)
        {
            using (var dbContext = new DataAccess.TeachersAssistant())
            {
                _unitOfWork.InitializeDbContext(dbContext);
                var classroom = _unitOfWork._classroomRepository.GetById((int)classRoomModel.ClassroomId);

                if (classroom == null)
                {
                    _unitOfWork._classroomRepository.Add(classRoomModel);
                    _unitOfWork.SaveChanges();
                }
                else
                {
                    if (classroom != null)
                    {
                        classroom.SubjectId   = classRoomModel.SubjectId;
                        classroom.TeacherId   = classRoomModel.TeacherId;
                        classroom.StudentType = classRoomModel.StudentType;
                        classroom.CalendarId  = classRoomModel.CalendarId;
                        _unitOfWork.SaveChanges();
                    }
                }
            }
        }
 public PaidDocument GetPaidDocumentById(int?mediaId)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._paidDocumentRepository.GetById((int)mediaId));
     }
 }
 public FreeVideo[] GetFreeVideos(string role)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._freeVideoRepository.GetAll().Where(p => p.RoleName.ToLower().Equals(role.ToLower())).ToArray());
     }
 }
 public Subject GetSubjectById(int subjectId)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._subjectRepository.GetById((int)subjectId));
     }
 }
 public Subject GetSubjectByName(string subjectName)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._subjectRepository.GetAll().FirstOrDefault(p => p.SubjectName.ToLower().Equals(subjectName.ToLower())));
     }
 }
 public Student GetStudentByName(string emailAddress)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._studentRepository.GetAll().FirstOrDefault(p => p.EmailAddress == emailAddress));
     }
 }
 public Teacher GetTeacherByName(string name)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._teacherRepository.GetAll().FirstOrDefault(p => p.EmailAddress == name));
     }
 }
 public BookingTime GetBookingById(int bookingTimeId)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._bookingTimeRepository.GetById(bookingTimeId));
     }
 }
 public Teacher GetTeacherById(int?teacherId)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._teacherRepository.GetById((int)teacherId));
     }
 }
 public Classroom[] GetClassrooms()
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._classroomRepository.GetAll().ToArray());
     }
 }
 public Classroom GetClassroomById(int?classroomId)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._classroomRepository.GetById((int)classroomId));
     }
 }
 public List <SHOP_PRODS> GetShoppingProdsList()
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._freeVideoRepository.DbContextTeachersAssistant.ShopProducts.ToList());
     }
 }
 public IList <SHOP_PRODS> GetProductsList()
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork.TeachersAssistantDbContext.ShopProducts.ToList());
     }
 }
 public FreeVideo GetFreeVideoById(int?mediaId)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._freeVideoRepository.GetById((int)mediaId));
     }
 }
 public CalendarBooking GetTeacherCalendarByBookingId(int?bookingId)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._calendarBookingRepository.GetById(((int)bookingId)));
     }
 }
 public SHOP_PRODS GetProductById(int productId)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork.TeachersAssistantDbContext.ShopProducts.SingleOrDefault(p => p.prodId == productId));
     }
 }
 public PaidVideo[] GetPaidVideos()
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._paidVideoRepository.GetAll());
     }
 }
 public Subject[] GetSubjectList()
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         return(_unitOfWork._subjectRepository.GetAll().ToArray());
     }
 }
 public CalendarBooking[] GetTeacherCalendar()
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         var teacherCalendar = _unitOfWork._calendarBookingRepository.GetAll();
         return(teacherCalendar.ToArray());
     }
 }
 public void DeleteBooking(int bookingTimeId)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         var bookingToDelete = _unitOfWork._bookingTimeRepository.GetById(bookingTimeId);
         _unitOfWork._bookingTimeRepository.Delete(bookingToDelete);
         _unitOfWork.SaveChanges();
     }
 }
 public void DeletePaidVideoById(int?mediaId)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext); _unitOfWork._paidVideoRepository.Delete(new PaidVideo {
             PaidVideoId = (int)mediaId
         });
         _unitOfWork.SaveChanges();
     }
 }
 public CalendarBooking GetTeacherCalendarByBookingId(int teacherId, int bookingId)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         CalendarBooking calendarBooking = null;
         calendarBooking = _unitOfWork._calendarBookingRepository.GetAll().SingleOrDefault(p => p.TeacherId == teacherId && p.BookingTimeId == bookingId);
         return(calendarBooking);
     }
 }
 public void DeleteFreeDocumentById(int?mediaId)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         _unitOfWork._freeDocumentRepository.Delete(new FreeDocument {
             FreeDocumentId = (int)mediaId
         });
         _unitOfWork.SaveChanges();
     }
 }
 public void DeleteTeacher(Teacher teacherModel)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         if (teacherModel.TeacherId != null)
         {
             var teacher = _unitOfWork._teacherRepository.GetById((int)(int)teacherModel.TeacherId);
             _unitOfWork._teacherRepository.Delete(teacher);
             _unitOfWork.SaveChanges();
         }
     }
 }
 public void DeleteProduct(SHOP_PRODS shopProd)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         var product = _unitOfWork._bookingTimeRepository.DbContextTeachersAssistant.ShopProducts.SingleOrDefault(p => p.prodId == shopProd.prodId);
         if (product != null)
         {
             _unitOfWork._bookingTimeRepository.DbContextTeachersAssistant.ShopProducts.Remove(product);
             _unitOfWork.SaveChanges();
         }
     }
 }
 public void DeleteClassroom(Classroom classRoomModel)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         if (classRoomModel.ClassroomId != null)
         {
             var classroom = _unitOfWork._classroomRepository.GetById((int)classRoomModel.ClassroomId);
             _unitOfWork._classroomRepository.Delete(classroom);
             _unitOfWork.SaveChanges();
         }
     }
 }
 public void DeleteTeacherCalendarByBooking(CalendarBooking teacherCalendar)
 {
     using (var dbContext = new DataAccess.TeachersAssistant())
     {
         _unitOfWork.InitializeDbContext(dbContext);
         if (teacherCalendar.CalendarBookingId != null)
         {
             var booking = _unitOfWork._calendarBookingRepository.GetById((int)teacherCalendar.CalendarBookingId);
             _unitOfWork._calendarBookingRepository.Delete(booking);
             _unitOfWork.SaveChanges();
         }
     }
 }