public static WeChatImportCodesModel ImportCodes(WeChatCardResponse weChatCard, string pathToFolder, string pathToFolderOld)
        {
            WeChatImportCodesModel weChatImportCodes = new WeChatImportCodesModel();

            weChatImportCodes.CardId = weChatCard.CardId;
            weChatImportCodes.Codes  = new List <string>();

            string[] files = Directory.GetFiles(pathToFolder, "*.txt", SearchOption.TopDirectoryOnly);

            foreach (string file in files)
            {
                using StreamReader sr = new StreamReader(file);
                string content = sr.ReadToEnd();
                var    codes   = content.Replace(Environment.NewLine, ",").Replace("\"", "").Split(',').
                                 Select(tag => tag.Trim()).
                                 Where(tag => !string.IsNullOrEmpty(tag)).ToList();

                weChatImportCodes.Codes.AddRange(codes);

                string date = $"{DateTime.Now.Year}_{DateTime.Now.Month}_{DateTime.Now.Day}_-_{DateTime.Now.Hour}_{DateTime.Now.Minute}";
                File.Copy(file, $"{pathToFolderOld}/Old_{date}_{Path.GetFileName(file)}", false);
            }

            foreach (string file in files)
            {
                File.Delete(file);
            }

            return(weChatImportCodes);
        }
Пример #2
0
        private void ImportCodes(WeChatTokenResponse weChatToken, WeChatCardResponse weChatCard)
        {
            WeChatImportCodesModel weChatImportCodes = WeChatImportCodesFactory.ImportCodes(weChatCard, PATH_TO_FOLDER, PATH_TO_FOLDER_OLD);
            int quantity = 100;

            for (int i = 0; i < weChatImportCodes.Codes.Count; i += quantity)
            {
                var codes = weChatImportCodes.Codes.Skip(i).Take(quantity).ToList();

                WeChatImportCodesModel    receiveImportCodes    = WeChatImportCodesFactory.ReceiveImportCodes(weChatCard, codes);
                WeChatImportCodesResponse importedCodesResponse = ReceiveImportCodeRequest(weChatToken, weChatCard, receiveImportCodes);

                if (importedCodesResponse.SuccessCodes.Count > 0)
                {
                    Console.WriteLine("SuccessCodes Missing");
                }

                if (importedCodesResponse.FailCodes.Count > 0)
                {
                    Console.WriteLine("FailCodes Missing");
                }

                //System.IO.File.WriteAllLines($"{PATH_TO_FOLDER_IMPORTED}\\Imported_From_{i}_{GetFormattedDate()}", importedCodesResponse.SuccessCodes, Encoding.UTF8);

                //ReceiveVerifyingCodeRequest(weChatToken, weChatCard, importedCodesResponse);
                //CallModifyingInventoryIncrease(weChatToken, weChatCard, quantity);
            }

            //ReceiveGetCodeDepositCountRequest(weChatToken, weChatCard);
        }
        public static WeChatImportCodesModel ReceiveImportCodes(WeChatCardResponse weChatCard, List <string> codes)
        {
            WeChatImportCodesModel weChatImportCodes = new WeChatImportCodesModel();

            weChatImportCodes.CardId = weChatCard.CardId;
            weChatImportCodes.Codes  = new List <string>();
            weChatImportCodes.Codes.AddRange(codes);

            return(weChatImportCodes);
        }
Пример #4
0
        /// <summary>
        /// [08] Receive Verifying Code Request
        /// </summary>
        /// <param name="weChatToken"></param>
        /// <param name="weChatCard"></param>
        /// <returns></returns>
        private WeChatImportCodesVerifyingCodeResponse ReceiveVerifyingCodeRequest(WeChatTokenResponse weChatToken, WeChatCardResponse weChatCard, WeChatImportCodesResponse importedCodesResponse)
        {
            try
            {
                WeChatImportCodesModel receiveImportCodes = WeChatImportCodesFactory.ReceiveImportCodes(weChatCard, importedCodesResponse.SuccessCodes);

                string url = "http://api.weixin.qq.com/card/code/checkcode?access_token=" + weChatToken.AccessToken;

                var jsonImportCodes = JsonConvert.SerializeObject(receiveImportCodes, WeChatConverter.Settings);
                var body            = new StringContent(jsonImportCodes, Encoding.UTF8, "application/json");
                var response        = _httpClient.PostAsync(url, body).Result;

                var jsonString = response.Content.ReadAsStringAsync();
                return(JsonConvert.DeserializeObject <WeChatImportCodesVerifyingCodeResponse>(jsonString.Result));
            }
            catch (Exception e)
            {
                throw new Exception($"Error on ReceiveGetCodeDepositCountRequest.", e);
            }
        }
Пример #5
0
        private void VerifyCodes(WeChatTokenResponse weChatToken, WeChatCardResponse weChatCard)
        {
            WeChatImportCodesModel weChatImportCodes = WeChatImportCodesFactory.ImportCodes(weChatCard, PATH_TO_FOLDER, PATH_TO_FOLDER_OLD);
            int quantity = 100;

            for (int i = 0; i < weChatImportCodes.Codes.Count; i += quantity)
            {
                var codes = weChatImportCodes.Codes.Skip(i).Take(quantity).ToList();

                WeChatImportCodesResponse importedCodesResponse = new WeChatImportCodesResponse();
                importedCodesResponse.SuccessCodes = new List <string>();
                importedCodesResponse.SuccessCodes.AddRange(codes);

                WeChatImportCodesVerifyingCodeResponse verify = ReceiveVerifyingCodeRequest(weChatToken, weChatCard, importedCodesResponse);

                if (verify.NotExistCodes.Count > 0)
                {
                    Console.WriteLine("duplicated");
                }
            }
        }