/// <summary> /// Méthode asynchrone qui vérifie si l'utilisateur a une session enregistrée /// </summary> /// <returns> /// true Si une session enregistrée existe et le token de la session est le même que celui de l'utilisateur /// dans le contexte. false Dans le cas contraire /// </returns> public async Task UserIsConnected() { if (File.Exists(GlobalInfos.USER_SESSION_PATH)) { CurrentSession = await LocalFileHelper.ReadJsonFile <UserSessionModel>(GlobalInfos.USER_SESSION_PATH); if (CurrentSession is not null) { if (!await m_Repository.UserTokenHasChanged(CurrentSession.Id, CurrentSession.Token)) { IsConnected = true; } else { File.Delete(GlobalInfos.USER_SESSION_PATH); } var role = await m_Repository.GetUserRole(CurrentSession.Id); if (role >= RolesEnum.Moderator) { Administration = 150; } } } }
public static LocalSettings GetLocalSettings() { LocalSettings localSettings = null; localSettings = JsonHelper.ParseJson <LocalSettings>(LocalFileHelper.GetLocalJson(LocalFileHelper._localSettings)); return(localSettings); }
/// <summary> /// "Demande" la connexion grâce aux identifiants fournis en paramètre. /// </summary> /// <param name="login"> /// Record utilisé pour que l'utilisateur puisse se connecter /// </param> /// <returns> /// true Si la connexion est réussie. false Dans le cas contraire /// </returns> public async Task <bool> LoginRequest() { var response = m_UserService.Login(m_Mapper.Map <LoginRequest>(UserConnection)); bool responseResult = response is null ? false : true; CheckError("Reponse", "Les informations de connexions sont incorrects !", responseResult); if (responseResult == false) { return(false); } bool blackListed = await m_Repository.UserIsBlackListed(response.Id); CheckError("Black listé", "Vous êtes actuellement sur la liste noire !", blackListed); if (blackListed) { return(false); } bool writeFile = await LocalFileHelper.WriteJsonFile(GlobalInfos.USER_SESSION_PATH, response); CheckError("Session", "Une erreur inconnue est survenue lors de la connexion !", writeFile); if (writeFile == false) { return(false); } return(true); }
public override bool Business() { try { SFTPHelper fTPHelper = new SFTPHelper(SFTPIP, SFTPort, SFTPUser, SFTPPwd); //读取文件列表 string[] receivefiles = Directory.GetFiles(SFTPConstants.ReceiveFilePath); LogHelper.WriteLog(typeof(string), "开始处理文件", LogHelper.LogLevel.INFO); if (receivefiles.Length > 0) { //TextHelper txthelper = new TextHelper(); for (int i = 0; i < receivefiles.Length; i++) { LogModel log = new LogModel(); log.SourceFileName = receivefiles[i]; FileInfo file = new FileInfo(receivefiles[i]); string filename = file.Name; string result = "";//解析的错误提示 string externumber = ""; try { List <string> txtlists = TextHelper.ReadTextFileToList(receivefiles[i]);//读取成list //没有数据 if (txtlists.Count() > 0) { //可以处理多个接口文件 switch (txtlists[0].ToString().Substring(0, 9).Trim()) { case "WMSSKU": //PUMA推给我们的 log.Type = "WMSSKU"; result = new ProductAccessor().AddProduct(txtlists, out externumber); break; case "WMSASN": //PUMA推给我们的 入库单 log.Type = "WMSASN"; result = new ASNAccessor().GetInbound_ASNHD(txtlists, out externumber); break; case "WMSORD": //PUMA推给我们的 出库单 log.Type = "WMSORD"; result = new ASNAccessor().GetInbound_ORDHD(txtlists, out externumber); break; default: log.Type = ""; result = "未能从文件中识别出对应的接口"; break; } if (result == "200") { //解析成功,移动到success文件夹 log.ToFileName = SFTPConstants.SuccessFilePath + @"\" + log.Type + @"\" + filename; log.ResultDesc = "解析成功"; log.Externumber = externumber; log.Flag = "Y"; if (log.Type == "WMSSKU") { fTPHelper.Delete(OUT_MASTER + "//" + filename); } else { fTPHelper.Delete(OUT_TRANSACTION + "//" + filename); } } else { if (log.Type != "") { if (result.Contains("数据库插入失败")) { log.ToFileName = "";// SFTPConstants.SuccessFilePath + @"\" + log.Type + @"\" + filename; log.ResultDesc = "解析失败:" + result; log.Externumber = externumber; log.Flag = "E"; } else { log.ToFileName = SFTPConstants.FaildFilePath + @"\" + log.Type + @"\" + filename;//移动到解析失败文件夹 log.ResultDesc = "解析失败:" + result; log.Externumber = externumber; log.Flag = "N"; } } else { log.ToFileName = SFTPConstants.ErrorFilePath + @"\" + filename; log.ResultDesc = "解析失败:" + result; log.Externumber = externumber; log.Flag = "N"; } } } else { log.ToFileName = SFTPConstants.ErrorFilePath + @"\" + filename; log.Flag = "N"; log.ResultDesc = "解析失败:文档中无数据"; } } catch (Exception ex) { //报错了放到error文件 log.ToFileName = SFTPConstants.ErrorFilePath + @"\" + filename; log.Flag = "N"; log.ResultDesc = "解析报错:" + ex.Message.ToString(); } if (log.Flag == "E") {//数据库失败再解析一次 } else { LocalFileHelper.MoveToCover(log.SourceFileName, log.ToFileName); } } } } catch (Exception ex) { LogHelper.WriteLog(typeof(string), "处理文件错误" + ex.ToString(), LogHelper.LogLevel.INFO); //throw; } return(true); }