using DeviceRepair.Models; using DeviceRepair.Models.Common; using NLog; using SqlSugar; using System; using System.Collections.Generic; namespace DeviceRepair.DataAccess { public class SystemUtil : DbContext { private static readonly Logger log = LogManager.GetCurrentClassLogger(); private static SystemUtil manager; public static SystemUtil Instance { get { if (manager == null) manager = new SystemUtil(); return manager; } } /// /// 获取附件信息 /// /// /// /// /// public APIResponseData GetAttachment(string TableName, string PrimaryKey, string PrimaryValue) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = $"获取数据失败!" }; try { if (string.IsNullOrWhiteSpace(TableName)) throw new Exception("参数TableName的值不能为空!"); if (string.IsNullOrWhiteSpace(PrimaryKey)) throw new Exception("参数PrimaryKey的值不能为空!"); if (string.IsNullOrWhiteSpace(PrimaryValue)) throw new Exception("参数PrimaryValue的值不能为空!"); base.db.ChangeDatabase("main"); List lst = db.Queryable().Where(x => x.TableName == TableName && x.PrimaryKey == PrimaryKey && x.PrimaryValue == PrimaryValue && x.Status)?.ToList(); apiResponseData.Code = 1; apiResponseData.Data = lst; apiResponseData.Message = ""; } catch (SqlSugarException ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } catch (Exception ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 获取图片 /// /// /// public APIResponseData GetAttachmentImg(int AutoId) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = $"获取数据失败!" }; try { base.db.ChangeDatabase("main"); AttachmentInfo Data = db.Queryable().Single(x => x.AutoID == AutoId && x.Status); apiResponseData.Code = 1; apiResponseData.Data = Data; apiResponseData.Message = ""; } catch (SqlSugarException ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } catch (Exception ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 获取全部数据 /// /// public APIResponseData GetAll() { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = $"获取数据失败!" }; try { base.db.ChangeDatabase("main"); List lst = db.Queryable()?.ToList(); apiResponseData.Code = 1; apiResponseData.Data = lst; apiResponseData.Message = ""; } catch (SqlSugarException ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } catch (Exception ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 批量编辑配置 /// /// /// public APIResponseData EditConfigs(List Datas) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = $"获取数据失败!" }; try { if ((Datas?.Count ?? 0) == 0) { throw new Exception($"未能获取到待修改的配置信息!"); } base.db.ChangeDatabase("main"); if (Datas.Count != db.Updateable(Datas).UpdateColumns(x => new { x.Value }).ExecuteCommand()) { throw new Exception("修改的配置信息出错!"); } apiResponseData.Code = 1; apiResponseData.Message = ""; } catch (SqlSugarException ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } catch (Exception ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 获取邮箱配置 /// /// /// public APIResponseData sysEmailConfigByModuleCode(string ModuleCode) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = $"获取数据失败!" }; try { if (string.IsNullOrWhiteSpace(ModuleCode)) { throw new Exception($"邮件模块编码不能为空!"); } base.db.ChangeDatabase("main"); SysEmailConfigInfo config = db.Queryable().First(x => x.MuduleCode == ModuleCode); apiResponseData.Code = 1; apiResponseData.Message = ""; apiResponseData.Data = config; } catch (SqlSugarException ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } catch (Exception ex) { log.Error(ex); apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } } }