using NPOI.SS.Formula.Functions;
using YLErp.DBModels.Consts;
namespace YLErp.Modules.AppModule
{
///
/// AppConfigService
///
public class AppConfigService : YLBaseService
{
public AppConfigService(OptUserInfo userInfo) : base(userInfo)
{
}
///
/// 获取管理密码
///
public string GetAdminPwd()
{
return DbContext.AppConfig.Where(n => n.PGroup == ConsAppConfig.System && n.PName == ConsAppConfig.AdminPwd)
.Select(n => n.PValue).FirstOrDefault();
}
///
/// 验证管理密码
///
public bool ValidateAdminPwd(string pwd)
{
return GetAdminPwd() == pwd;
}
///
/// 重置管理密码
///
public string ResetAdminPwd()
{
var config = DbContext.AppConfig.FirstOrDefault(n => n.PGroup == ConsAppConfig.System && n.PName == ConsAppConfig.AdminPwd);
if (config == null)
{
config = new AppConfig
{
PGroup = ConsAppConfig.System,
PName = ConsAppConfig.AdminPwd,
CreateTime = DateTime.Now,
PType = "string",
Remark = "系统管理密码"
};
}
config.PValue = Guid.NewGuid().ToString("N") + Guid.NewGuid().ToString("N");
DbContext.SaveChanges();
return config.PValue;
}
///
///
///
public int SaveOtcFormatConfig(string configValue)
{
var config = DbContext.AppConfig.FirstOrDefault(
n => n.PGroup == ConsAppConfig.ProjectConfig && n.PName == ConsAppConfig.OtcFormatConfig);
if (config == null)
{
config = new AppConfig
{
PGroup = ConsAppConfig.ProjectConfig,
PName = ConsAppConfig.OtcFormatConfig,
CreateTime = DateTime.Now,
PType = "string",
Remark = "OTC格式化配置"
};
DbContext.AppConfig.Add(config);
}
config.PValue = configValue;
return DbContext.SaveChanges();
}
public int SaveYLWebApiConfig(string configValue)
{
using (var db = DbContextFactory.GetYLDbContext())
{
var data = db.AppConfig.FirstOrDefault(n => n.PGroup == ConsAppConfig.ProjectConfig && n.PName == ConsAppConfig.YLErpWebUrlConfig);
if (data == null)
{
data = new AppConfig()
{
PGroup = ConsAppConfig.ProjectConfig,
PName = ConsAppConfig.YLErpWebUrlConfig,
PValue = configValue,
PType = "string",
Remark = "YLErp Web服务地址"
};
db.AppConfig.Add(data);
}
else
{
// 如果已经存在数据就不更新
if (string.IsNullOrEmpty(data.PValue))
{
data.PValue = configValue;
}
}
return db.SaveChanges();
}
}
///
/// 如果不存在,则添加为新数据,否则更新
///
public int SaveConfig(string pgroup, string pname, string pvalue, string ptype, string remark)
{
if (string.IsNullOrWhiteSpace(pgroup))
{
throw new ArgumentNullException(nameof(pgroup));
}
if (string.IsNullOrWhiteSpace(pname))
{
throw new ArgumentNullException(nameof(pname));
}
var data = DbContext.AppConfig.FirstOrDefault(n => n.PGroup == pgroup && n.PName == pname);
if (data == null)
{
data = new AppConfig
{
CreateTime = DateTime.Now,
PGroup = pgroup,
PName = pname
};
DbContext.AppConfig.Add(data);
}
data.PType = ptype;
data.Remark = remark;
data.PValue = pvalue;
return DbContext.SaveChanges();
}
}
}