Esempio n. 1
0
        /// <summary>
        /// Lấy thông tin đối tượng theo khóa chính
        /// </summary>
        /// <param name="id">Id của bản ghi</param>
        /// <returns></returns>
        public async Task <T> GetEntityByIdAsync(object id)
        {
            var storeName = DatabaseUtility.GeneateStoreName <T>(ProcdureTypeName.GetById);
            var entities  = GetData(storeName, new object[] { id });

            return(await Task.FromResult(entities.ToList().FirstOrDefault()));
        }
Esempio n. 2
0
        /// <summary>
        /// Update bảng sử dụng param databaseConnector
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="databaseConnector"></param>
        /// <returns></returns>
        public async Task <int> Update(T entity, DatabaseConnector databaseConnector)
        {
            var procedureName = DatabaseUtility.GeneateStoreName <T>(ProcdureTypeName.Update);
            var value         = await SaveChangeAndReturnRecordEffect(databaseConnector, procedureName, entity);

            return(value);
        }
Esempio n. 3
0
        /// <summary>
        /// Thêm mới sử dụng connnector là tham số đầu vào Trả về số bản ghi thành công
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="databaseConnector"></param>
        /// <returns></returns>
        protected virtual async Task <object> InsertAndReturnNumberRecordEffect(T entity, DatabaseConnector databaseConnector)
        {
            var storeName = DatabaseUtility.GeneateStoreName <T>(ProcdureTypeName.Insert);
            var result    = await SaveChangeAndReturnRecordEffect(databaseConnector, storeName, entity);

            return(result);
        }
        /// <summary>
        /// Lấy danh sách các đối tượng theo một bộ tham số truyền vào
        /// </summary>
        /// <param name="parameters">một mảng chứa các tham số sẽ truyền vào store</param>
        /// <returns></returns>
        /// CreateBy: NVMANH (20/04/2020)
        public async Task <IReadOnlyList <T> > GetEntities <T>(object[] parameters)
        {
            var storeName = DatabaseUtility.GeneateStoreName <T>(ProcdureTypeName.Get);
            var entities  = await Task.FromResult(GetData <T>(storeName, parameters).ToList());

            return(entities);
        }
Esempio n. 5
0
        /// <summary>
        /// Xóa có tham số connector
        /// </summary>
        /// <param name="param"></param>
        /// <param name="databaseConnector"></param>
        /// <returns></returns>
        public Task <int> Delete(object[] param, DatabaseConnector databaseConnector)
        {
            var procedureName = DatabaseUtility.GeneateStoreName <T>(ProcdureTypeName.Delete);

            databaseConnector.SetParameterValue(procedureName, param);
            var result = databaseConnector.ExecuteNonQuery();

            return(result);
        }
Esempio n. 6
0
 /// <summary>
 /// Sửa dữ liệu (tự sinh store sửa theo teamplate Update[Tên bảng]
 /// </summary>
 /// <param name="entity">Thực thể</param>
 /// <returns></returns>
 public virtual Task <int> Update(T entity)
 {
     using (DatabaseConnector databaseConnector = new DatabaseConnector())
     {
         var procedureName = DatabaseUtility.GeneateStoreName <T>(ProcdureTypeName.Update);
         var value         = SaveChangeAndReturnRecordEffect(databaseConnector, procedureName, entity);
         databaseConnector.CommitTransaction();
         return(value);
     }
 }
 /// <summary>
 /// Xóa dữ liệu theo các điều kiện trả về số bản ghi bị xóa trong DB
 /// </summary>
 /// <param name="param">Bộ tham số truyền vào cho store - map theo thứ tự</param>
 /// <returns></returns>
 /// CreatedBy: NVMANH (21/02/2020)
 public Task <int> Delete <T>(object[] param)
 {
     using (DatabaseConnector databaseConnector = new DatabaseConnector())
     {
         var procedureName = DatabaseUtility.GeneateStoreName <T>(ProcdureTypeName.Delete);
         databaseConnector.SetParameterValue(procedureName, param);
         databaseConnector.CommitTransaction();
         return(databaseConnector.ExecuteNonQuery());
     }
 }
Esempio n. 8
0
        /// <summary>
        /// Thêm mới dữ liệu theo store mặc định tự sinh
        /// </summary>
        /// <param name="entity">Đối tượng sẽ thêm mới vào Database</param>
        /// <returns>Số bản ghi thêm mới thành công</returns>
        protected virtual async Task <object> InsertAndReturnNumberRecordEffect(T entity)
        {
            using (DatabaseConnector databaseConnector = new DatabaseConnector())
            {
                var storeName = DatabaseUtility.GeneateStoreName <T>(ProcdureTypeName.Insert);
                var result    = await SaveChangeAndReturnRecordEffect(databaseConnector, storeName, entity);

                databaseConnector.CommitTransaction();
                return(result);
            }
        }
Esempio n. 9
0
 /// <summary>
 /// Thêm mới 1 List Object (sử dụng ADO.NET_
 /// </summary>
 /// <param name="entities">Danh sách các object</param>
 /// <returns></returns>
 /// CreatedBy: NVMANH (22/05/2020)
 public async Task AddRangeAsync(List <T> entities)
 {
     using (DatabaseConnector databaseConnector = new DatabaseConnector())
     {
         var storeName = DatabaseUtility.GeneateStoreName <T>(ProcdureTypeName.Insert);
         foreach (var entity in entities)
         {
             await databaseConnector.SaveChangeAndReturnRecordEffect(storeName, entity);
         }
         databaseConnector.CommitTransaction();
     }
 }
Esempio n. 10
0
        /// <summary>
        /// Lấy danh sách các đối tượng theo một bộ tham số truyền vào
        /// </summary>
        /// <returns></returns>
        public async Task <IReadOnlyList <T> > GetEntities()
        {
            var storeName = DatabaseUtility.GeneateStoreName <T>(ProcdureTypeName.Get);

            return(await Task.FromResult(GetData(storeName, null).ToList()));
        }
Esempio n. 11
0
        /// <summary>
        /// Thêm mới và trả về kết quả từ store sử dụng connector truyền vào
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="databaseConnector"></param>
        /// <returns></returns>
        protected virtual async Task <object> InsertAndReturnSingleValue(T entity, DatabaseConnector databaseConnector)
        {
            var storeName = DatabaseUtility.GeneateStoreName <T>(ProcdureTypeName.Insert);

            return(await InsertAndReturnSingleValue(storeName, entity, databaseConnector));
        }