示例#1
0
        public DepartmentSetting GetDepartmentSettingBySettingType(string setting, DepartmentSettingTypes type)
        {
            using (IDbConnection db = new SqlConnection(connectionString))
            {
                return(db.Query <DepartmentSetting>(@"SELECT ds.* FROM DepartmentSettings ds
													WHERE ds.Setting = @setting AND ds.SettingType = @settingType"                                                    ,
                                                    new { setting = setting, settingType = type }).FirstOrDefault());
            }
        }
示例#2
0
        public DepartmentSetting GetDepartmentSettingByIdType(int departmentId, DepartmentSettingTypes type)
        {
            using (IDbConnection db = new SqlConnection(connectionString))
            {
                return(db.Query <DepartmentSetting>(@"SELECT ds.* FROM DepartmentSettings ds
													WHERE ds.DepartmentId = @departmentId AND ds.SettingType = @settingType"                                                    ,
                                                    new { departmentId = departmentId, settingType = type }).FirstOrDefault());
            }
        }
        public void DeleteSetting(int departmentId, DepartmentSettingTypes type)
        {
            var savedSetting = (from set in _departmentSettingsRepository.GetAll()
                                where set.DepartmentId == departmentId && set.SettingType == (int)type
                                select set).FirstOrDefault();

            if (savedSetting != null)
            {
                _departmentSettingsRepository.DeleteOnSubmit(savedSetting);
            }
        }
示例#4
0
        public async Task <bool> DeleteSettingAsync(int departmentId, DepartmentSettingTypes type, CancellationToken cancellationToken = default(CancellationToken))
        {
            var savedSetting = await GetSettingByDepartmentIdType(departmentId, type);

            if (savedSetting != null)
            {
                return(await _departmentSettingsRepository.DeleteAsync(savedSetting, cancellationToken));
            }

            return(false);
        }
        public void SaveOrUpdateSetting(int departmentId, string setting, DepartmentSettingTypes type)
        {
            var savedSetting = (from set in _departmentSettingsRepository.GetAll()
                                where set.DepartmentId == departmentId && set.SettingType == (int)type
                                select set).FirstOrDefault();

            if (savedSetting == null)
            {
                DepartmentSetting newSetting = new DepartmentSetting();
                newSetting.DepartmentId = departmentId;
                newSetting.Setting      = setting;
                newSetting.SettingType  = (int)type;

                _departmentSettingsRepository.SaveOrUpdate(newSetting);
            }
            else
            {
                savedSetting.Setting = setting;
                _departmentSettingsRepository.SaveOrUpdate(savedSetting);
            }
        }
示例#6
0
        public DepartmentSetting GetDepartmentSettingByUserIdType(string userId, DepartmentSettingTypes type)
        {
//			if (IsSqlCe)
//			{
//				var data = db.SqlQuery<DepartmentSetting>(@"SELECT ds.* FROM DepartmentSettings ds
//																	INNER JOIN DepartmentMembers dm ON ds.DepartmentId = dm.DepartmentId
//																	WHERE dm.UserId = @UserId AND ds.SettingType = @SettingType",
//					new SqlCeParameter("@UserId", userId),
//					new SqlCeParameter("@SettingType", (int)type));

//				return data.FirstOrDefault();
//			}
//			else
//			{
            var data = db.SqlQuery <DepartmentSetting>(@"SELECT ds.* FROM DepartmentSettings ds
																	INNER JOIN DepartmentMembers dm ON ds.DepartmentId = dm.DepartmentId
																	WHERE dm.UserId = @UserId AND ds.SettingType = @SettingType"                                                                    ,
                                                       new SqlParameter("@UserId", userId),
                                                       new SqlParameter("@SettingType", (int)type));

            return(data.FirstOrDefault());
            //}
        }
示例#7
0
 private async Task <DepartmentSetting> GetSettingBySettingTypeAsync(string setting, DepartmentSettingTypes settingType)
 {
     return(await _departmentSettingsRepository.GetDepartmentSettingBySettingTypeAsync(setting, settingType));
 }
示例#8
0
 private async Task <DepartmentSetting> GetSettingByDepartmentIdType(int departmentId, DepartmentSettingTypes settingType)
 {
     return(await _departmentSettingsRepository.GetDepartmentSettingByIdTypeAsync(departmentId, settingType));
 }
示例#9
0
        public async Task <DepartmentSetting> SaveOrUpdateSettingAsync(int departmentId, string setting, DepartmentSettingTypes type, CancellationToken cancellationToken = default(CancellationToken))
        {
            var savedSetting = await GetSettingByDepartmentIdType(departmentId, type);

            if (savedSetting == null)
            {
                DepartmentSetting newSetting = new DepartmentSetting();
                newSetting.DepartmentId = departmentId;
                newSetting.Setting      = setting;
                newSetting.SettingType  = (int)type;

                return(await _departmentSettingsRepository.SaveOrUpdateAsync(newSetting, cancellationToken));
            }
            else
            {
                savedSetting.Setting = setting;
                return(await _departmentSettingsRepository.SaveOrUpdateAsync(savedSetting, cancellationToken));
            }

            return(null);
        }
示例#10
0
        public async Task <DepartmentSetting> GetDepartmentSettingByIdTypeAsync(int departmentId, DepartmentSettingTypes type)
        {
            try
            {
                var selectFunction = new Func <DbConnection, Task <DepartmentSetting> >(async x =>
                {
                    var dynamicParameters = new DynamicParameters();
                    dynamicParameters.Add("DepartmentId", departmentId);
                    dynamicParameters.Add("SettingType", (int)type);

                    var query = _queryFactory.GetQuery <SelectBySettingTypeDepartmentIdQuery>();

                    return(await x.QueryFirstOrDefaultAsync <DepartmentSetting>(sql: query,
                                                                                param: dynamicParameters,
                                                                                transaction: _unitOfWork.Transaction));
                });

                DbConnection conn = null;
                if (_unitOfWork?.Connection == null)
                {
                    using (conn = _connectionProvider.Create())
                    {
                        await conn.OpenAsync();

                        return(await selectFunction(conn));
                    }
                }
                else
                {
                    conn = _unitOfWork.CreateOrGetConnection();

                    return(await selectFunction(conn));
                }
            }
            catch (Exception ex)
            {
                Logging.LogException(ex);

                throw;
            }
        }