예제 #1
0
 public virtual IEnumerable <T> GetAll()
 {
     using (var connection = SQLiteDBConnection.GetInstance().GetConnection())
     {
         return(connection.Query <T>(QUERY_SELECT_ALL));
     }
 }
예제 #2
0
 public void Delete(int id)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         conn.Execute($"DELETE FROM {TableName} WHERE Id = @id", new { Id = id });
     }
 }
예제 #3
0
 public virtual IEnumerable <TModel> Get()
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         return(conn.Query <TModel>($"SELECT * FROM {TableName}"));
     }
 }
예제 #4
0
 public List <SectionTimeModel> GetBySection(SectionModel section)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query = $"SELECT * FROM SectionTimes WHERE SectionId = @Id";
         return(conn.Query <SectionTimeModel>(query, section).ToList());
     }
 }
예제 #5
0
 public virtual TModel Get(int id)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         return(conn.QuerySingle <TModel>($@"SELECT * FROM {TableName} 
                                             WHERE Id = @id", new { Id = id }));
     }
 }
 public List <SectionModel> GetByFaculty(FacultyUserModel faculty)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query = $"SELECT * FROM Sections WHERE FacultyId = @Id";
         return(conn.Query <SectionModel>(query, faculty).ToList());
     }
 }
예제 #7
0
 public List <StudentUserModel> GetBySection(SectionModel section)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query = @"SELECT * FROM Users where Id in (SELECT StudentId FROM SectionStudents where SectionId = @Id);";
         return(conn.Query <StudentUserModel>(query, section).ToList());
     }
 }
예제 #8
0
 public FacultyUserModel UpdateInfo(FacultyUserModel model)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query = @"UPDATE Users SET FirstName = @FirstName, LastName = @LastName, Email = @Email WHERE Id = @Id";
         conn.Execute(query, model);
     }
     return(model);
 }
예제 #9
0
        public SQLiteConnection GetConnection()
        {
            string documentsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);

            var path = Path.Combine(documentsPath, SQLiteDBConnection.GetDbFileName());
            var plat = new SQLite.Net.Platform.XamarinAndroid.SQLitePlatformAndroid();
            var conn = new SQLiteConnection(plat, path);

            return(conn);
        }
예제 #10
0
 public StudentUserModel GetByAcademicId(string AcademicId)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query = @"SELECT * FROM Users where AcademicId = @AcademicId;";
         DynamicParameters parameters = new DynamicParameters();
         parameters.Add("@AcademicId", AcademicId);
         return(conn.QuerySingle <StudentUserModel>(query, parameters));
     }
 }
 public void DeleteAllBySection(int SectionId)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query      = @"DELETE FROM Classes WHERE SectionId = @SectionId;";
         var parameters = new DynamicParameters();
         parameters.Add("@SectionId", SectionId);
         conn.Execute(query, parameters);
     }
 }
예제 #12
0
 public List <int> GetAllBySection(int SectionId)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query      = @"SELECT StudentId from SectionStudents where SectionId = @SectionId;";
         var parameters = new DynamicParameters();
         parameters.Add("@SectionId", SectionId);
         return(conn.Query <int>(query, parameters).ToList());
     }
 }
예제 #13
0
 public void RemoveAllBySection(int SectionId)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query      = @"DELETE FROM SectionStudents where SectionId = @SectionId;";
         var parameters = new DynamicParameters();
         parameters.Add("@SectionID", SectionId);
         conn.ExecuteScalar <int>(query, parameters);
     }
 }
        public override SectionModel Update(SectionModel model)
        {
            using (IDbConnection conn = SQLiteDBConnection.Get())
            {
                var query = @"UPDATE Sections SET SectionName = @SectionName WHERE Id = @Id";
                conn.Execute(query, model);
            }

            return(model);
        }
 public List <ClassModel> GetBySectionId(int SectionId)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query      = @"SELECT * FROM Classes where SectionId = @SectionId;";
         var parameters = new DynamicParameters();
         parameters.Add("@SectionId", SectionId);
         return(conn.Query <ClassModel>(query, parameters).ToList());
     }
 }
예제 #16
0
 public FacultyUserModel GetPasswordByUser(FacultyUserModel model)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query      = @"SELECT Password FROM Users where Id = @Id;";
         var parameters = new DynamicParameters();
         parameters.Add("@Id", model.Id);
         return(conn.QuerySingle <FacultyUserModel>(query, parameters));
     }
 }
예제 #17
0
 public List <SectionTimeModel> GetByFaculty(int FacultyId)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query      = @"SELECT * FROM SectionTimes where SectionId in
                         (SELECT Id FROM Sections WHERE FacultyId = @FacultyId)";
         var parameters = new DynamicParameters();
         parameters.Add("@Facultyid", FacultyId);
         return(conn.Query <SectionTimeModel>(query, parameters).ToList());
     }
 }
예제 #18
0
        public override SectionTimeModel Update(SectionTimeModel model)
        {
            using (IDbConnection conn = SQLiteDBConnection.Get())
            {
                var query = @"UPDATE SectionTimes SET StartTimeId = @StartTimeId, EndTimeId = @EndTimeId, 
                                WeekDayId = @WeekDayId, ClassType = @ClassType, RoomNo = @RoomNo WHERE Id = @Id";
                conn.Execute(query, model);
            }

            return(model);
        }
 public ClassModel InsertQRCode(int ClassId, string QR)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query      = @"UPDATE Classes SET QRCode = @QR WHERE Id = @ClassId;";
         var parameters = new DynamicParameters();
         parameters.Add("@ClassId", ClassId);
         parameters.Add("@QR", QR);
         return(conn.ExecuteScalar <ClassModel>(query, parameters));
     }
 }
 public ClassModel InsertQRDisplayEndTime(int ClassId, string EndTime)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query      = @"UPDATE Classes SET QRDisplayEndTime = @EndTime where Id = @ClassId;";
         var parameters = new DynamicParameters();
         parameters.Add("@ClassId", ClassId);
         parameters.Add("@EndTime", EndTime);
         return(conn.ExecuteScalar <ClassModel>(query, parameters));
     }
 }
        public override ClassModel Update(ClassModel model)
        {
            using (IDbConnection conn = SQLiteDBConnection.Get())
            {
                var query = @"UPDATE Classes SET ClassDate = @ClassDate, StartTimeid = @StartTimeId, EndTimeId = @EndTimeId,
                                RoomNo = @RoomNo WHERE Id = @Id";
                conn.Execute(query, model);
            }

            return(model);
        }
예제 #22
0
 public void UpdatePasswordByUser(int Id, string Password, string salt)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query      = @"UPDATE Users SET Password = @Password, Salt = @Salt WHERE Id = @Id";
         var parameters = new DynamicParameters();
         parameters.Add("@Id", Id);
         parameters.Add("@Password", Password);
         parameters.Add("@Salt", salt);
         conn.Execute(query, parameters);
     }
 }
예제 #23
0
 public List <StudentUserModel> SearchByNameAndSectionId(string key, int SectionId)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query = @"SELECT * FROM Users where (FirstName like ('%' || @key || '%') OR LastName like ('%' || @key || '%')) AND UserType = 1 AND id in
                         (select StudentId FROM SectionStudents where SectionId = @SectionId);";
         DynamicParameters parameters = new DynamicParameters();
         parameters.Add("@key", key);
         parameters.Add("@SectionId", SectionId);
         return(conn.Query <StudentUserModel>(query, parameters).ToList());
     }
 }
        public List <ClassModel> GetByFacultyId(int FacultyId)
        {
            using (IDbConnection conn = SQLiteDBConnection.Get())
            {
                var query = @"SELECT * from Classes where Id IN
                                (SELECT Id FROM Classes where SectionId IN
	                                (SELECT Id FROM Sections WHERE FacultyId = @FacultyId));"    ;
                DynamicParameters parameters = new DynamicParameters();
                parameters.Add("@FacultyId", FacultyId);
                return(conn.Query <ClassModel>(query, parameters).ToList());
            }
        }
예제 #25
0
        public override BaseUserModel Create(BaseUserModel model)
        {
            using (IDbConnection conn = SQLiteDBConnection.Get())
            {
                var query = @"INSERT INTO Users (AcademicId, FirstName, LastName, Email, Password, Salt, CreatedAt, UserType) 
                                VALUES(@AcademicId, @FirstName, @LastName, @Email, @Password, @Salt, @CreatedAt, @UserType);
                            SELECT last_insert_rowid();";
                var newId = conn.ExecuteScalar <int>(query, model);
                model.Id = newId;
            }

            return(model);
        }
예제 #26
0
 public void Create(int SectionId, int StudentId)
 {
     using (IDbConnection conn = SQLiteDBConnection.Get())
     {
         var query      = @"INSERT INTO SectionStudents (SectionId, StudentId) 
                            VALUES(@SectionID, @StudentID);
                      SELECT last_insert_rowid();";
         var parameters = new DynamicParameters();
         parameters.Add("@SectionID", SectionId);
         parameters.Add("@StudentID", StudentId);
         conn.ExecuteScalar <int>(query, parameters);
     }
 }
        public override SectionModel Create(SectionModel model)
        {
            using (IDbConnection conn = SQLiteDBConnection.Get())
            {
                var query = @"INSERT INTO Sections (SectionName, FacultyId, CreatedAt) 
                                   VALUES(@SectionName, @FacultyId, @CreatedAt);
                             SELECT last_insert_rowid();";
                var newId = conn.ExecuteScalar <int>(query, model);
                model.Id = newId;
            }

            return(model);
        }
        public List <ClassModel> GetByDateAndFacultyId(string date, int FacultyId)
        {
            using (IDbConnection conn = SQLiteDBConnection.Get())
            {
                //Console.WriteLine("date in query: " + date);
                var query = @"SELECT * from Classes where ClassDate = @date AND Id IN
                                (SELECT Id FROM Classes where SectionId IN
	                                (SELECT Id FROM Sections WHERE FacultyId = @FacultyId));"    ;
                DynamicParameters parameters = new DynamicParameters();
                parameters.Add("@date", date);
                parameters.Add("@FacultyId", FacultyId);
                return(conn.Query <ClassModel>(query, parameters).ToList());
            }
        }
        public override ClassModel Create(ClassModel model)
        {
            using (IDbConnection conn = SQLiteDBConnection.Get())
            {
                var query = @"INSERT INTO Classes (ClassDate, ClassType, StartTimeId, EndTimeId, RoomNo, QRCode, QRDisplayStartTime,
                               QRDisplayEndTime, SectionId, CreatedAt) VALUES(@ClassDate, @ClassType, @StartTimeId, @EndTimeId, @RoomNo, 
                                @QRCode, @QRDisplayStartTime, @QRDisplayEndTime, @SectionId, @CreatedAt);
                             SELECT last_insert_rowid();";
                var newId = conn.ExecuteScalar <int>(query, model);
                model.Id = newId;
            }

            return(model);
        }
예제 #30
0
        public override SectionTimeModel Create(SectionTimeModel model)
        {
            using (IDbConnection conn = SQLiteDBConnection.Get())
            {
                var query = @"INSERT INTO SectionTimes (StartTimeId, EndTimeId, WeekDayId, ClassType, RoomNo, 
                                SectionId, CreatedAt) VALUES(@StartTimeId, @EndTimeId, @WeekDayId, @ClassType,
                                    @RoomNo, @SectionId, @CreatedAt);
                             SELECT last_insert_rowid();";
                var newId = conn.ExecuteScalar <int>(query, model);
                model.Id = newId;
            }

            return(model);
        }