예제 #1
0
        private async Task <string> DefaultLoginAndGetMCKey()
        {
            var userName  = string.Empty;
            var userPwd   = string.Empty;
            var AesResult = await GetAesKey();

            return(await _cacheManager.GetCache(AppConsts.Cache_MCAuthKey).GetAsync <string, string>("DefaultMCAuthKey", async c =>
            {
                UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
                var EncryptPassword = "";
                try
                {
                    EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                catch
                {
                    AesResult = await GetAesKey(true);
                    EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                var result = await client.LoginExAsync(new LoginExRequest {
                    UserName = defaultUserName, EncryptPassword = EncryptPassword, DeviceCode = deviceCode
                });
                return result.AuthKey;
            }));
        }
예제 #2
0
        /// <summary>
        /// 获取会员AuthKey
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public async Task <string> GetUserMemberAuthKey(string userName, string password)
        {
            var AesResult = await GetAesKey();

            return((string)await _cacheManager.GetCache(AppConsts.Cache_MCAuthKey).GetAsync <string, string>($"{userName}.Activity", async c =>
            {
                UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
                var EncryptPassword = "";
                try
                {
                    EncryptPassword = AesCryptoService.Encrypt(password, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                catch
                {
                    AesResult = await GetAesKey(true);
                    EncryptPassword = AesCryptoService.Encrypt(password, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                //获取最新的AuthKey
                var result = await client.LoginExAsync(new LoginExRequest
                {
                    UserName = userName,
                    EncryptPassword = EncryptPassword,
                    DeviceCode = deviceCode
                });
                return result.AuthKey;
            }));
        }
예제 #3
0
        public void WidgetPerformUpdate(Action <NCUpdateResult> completionHandler)
        {
            // Perform any setup necessary in order to update the view.

            // If an error is encoutered, use NCUpdateResultFailed
            // If there's no update required, use NCUpdateResultNoData
            // If there's an update, use NCUpdateResultNewData

            var result = NCUpdateResult.NewData;

            MainLabel.Text = "Hey Beauty";

            Log("result is NewData");

            var cs = new AesCryptoService();

            Log("Got crypto");

            var pas = new PersistentAuthService(cs);

            Log("Got auth");

            var sfs = new SundaysFunctionService(pas);

            Log("Got sundays");

            var a = pas.GetAuth();

            Log($"Got auth. Is valid: {(a?.IsValid ?? false)}");

            //var s = sfs.Get(DateTime.Today, DateTime.Today).GetAwaiter().GetResult();
            //Log($"Got {(s?.Count().ToString() ?? "(null)")} sundays");

            //var sundayService = new SundaysFunctionService(
            //    new PersistentAuthService(
            //        new AesCryptoService()
            //    )
            //);

            //var from = DateTime.Today.AddDays(-7);
            //var to = DateTime.Today;


            //try
            //{
            //    var sundays = sundayService.Get(from, to).GetAwaiter().GetResult().ToList();
            //    result = sundays?.Count > 0 ? NCUpdateResult.NewData : NCUpdateResult.NoData;
            //}
            //catch
            //{
            //    result = NCUpdateResult.Failed;
            //}


            Log($"completing with {result}");

            completionHandler(result);
        }
예제 #4
0
        public async Task <string> GetDeliveryAddressJson()
        {
            string AuthKey = Request.Form["AuthKey"].ToString();
            string AesKey  = Request.Form["AesKey"].ToString();
            string Iv      = Request.Form["Iv"].ToString();
            MemberServiceSoapClient client = new MemberServiceSoapClient(MemberServiceSoapClient.EndpointConfiguration.MemberServiceSoap);

            var result = await client.GetDeliveryAddressJsonAsync(AuthKey);

            return(AesCryptoService.DecryptText(result, AesKey, Iv));
        }
예제 #5
0
        public async Task <int> DeliveryAddressAddJson()
        {
            string AuthKey = Request.Form["AuthKey"].ToString();
            string AesKey  = Request.Form["AesKey"].ToString();
            string Iv      = Request.Form["Iv"].ToString();
            string Addr    = Request.Form["Addr"].ToString();
            MemberServiceSoapClient client = new MemberServiceSoapClient(MemberServiceSoapClient.EndpointConfiguration.MemberServiceSoap);

            var aesAddr = AesCryptoService.Encrypt(Addr, AesKey, Iv);

            return(await client.DeliveryAddressAddJsonAsync(AuthKey, aesAddr));
        }
        public async Task EncryptAsync_WithInvalidInputs_ShouldThrowException()
        {
            var textToEncrypt = "text for encryption";

            var encrypter = new AesCryptoService(null);
            await Assert.ThrowsAsync <ArgumentNullException>(async() => await encrypter.EncryptAsync(null, _tenant, _key, textToEncrypt));

            await Assert.ThrowsAsync <ArgumentNullException>(async() => await encrypter.EncryptAsync(_application, null, _key, textToEncrypt));

            await Assert.ThrowsAsync <ArgumentNullException>(async() => await encrypter.EncryptAsync(_application, _tenant, null, textToEncrypt));

            await Assert.ThrowsAsync <ArgumentNullException>(async() => await encrypter.EncryptAsync(_application, _tenant, _key, ""));
        }
        public void Encrypt_WithInvalidInputs_Should_Throw_Exception()
        {
            var textToEncrypt = "text for encryption";

            var encrypter = new AesCryptoService(null);

            Assert.Throws <ArgumentNullException>(() => encrypter.Encrypt(null, _tenant, _key, textToEncrypt));

            Assert.Throws <ArgumentNullException>(() => encrypter.Encrypt(_application, null, _key, textToEncrypt));

            Assert.Throws <ArgumentNullException>(() => encrypter.Encrypt(_application, _tenant, null, textToEncrypt));

            Assert.Throws <ArgumentNullException>(() => encrypter.Encrypt(_application, _tenant, _key, ""));
        }
예제 #8
0
        public async Task <string> GetPointsChangeDetailJson()
        {
            string   AuthKey   = Request.Form["AuthKey"].ToString();
            string   AesKey    = Request.Form["AesKey"].ToString();
            string   Iv        = Request.Form["Iv"].ToString();
            DateTime BeginDate = DateTime.MinValue;
            DateTime EndDate   = DateTime.MinValue;

            DateTime.TryParse(Request.Form["BeginDate"].ToString(), out BeginDate);
            DateTime.TryParse(Request.Form["EndDate"].ToString(), out EndDate);
            MemberServiceSoapClient client = new MemberServiceSoapClient(MemberServiceSoapClient.EndpointConfiguration.MemberServiceSoap);

            var result = await client.GetPointsChangeDetailJsonAsync(AuthKey, BeginDate, EndDate);

            return(AesCryptoService.DecryptText(result, AesKey, Iv));
        }
예제 #9
0
        /// <summary>
        /// 获取活动类型
        /// </summary>
        /// <param name="activity"></param>
        /// <returns></returns>
        public async Task <ActivityInfo> GetActivity(int activityid)
        {
            _logger.Info("活动id为:" + activityid);
            string       cachekeyname_activity = "ActivityInfo_" + activityid.ToString();
            ActivityInfo activi = (ActivityInfo)await _cacheManager.GetCache(AppConsts.Cache_ActivityInfo).GetOrDefaultAsync(cachekeyname_activity);

            if (activi == null)
            {
                _logger.Info("没有缓存,继续进入:" + activityid);
                string jsonStr = string.Empty;
                string authKey = await GetDefaultAuthKey();//获取默认账户AuthKey

                _logger.Info("获取默认账户authkey:" + authKey);
                yilibabyActivity.ActivityServiceSoapClient activity = new yilibabyActivity.ActivityServiceSoapClient(yilibabyActivity.ActivityServiceSoapClient.EndpointConfiguration.ActivityServiceSoap12);
                {
                    _logger.Info($"WCF地址{activity.Endpoint.Address.ToString()}");


                    jsonStr = await activity.GetActivityInfoJsonAsync(authKey, activityid);

                    if (string.IsNullOrWhiteSpace(jsonStr))
                    {
                        jsonStr = activity.GetActivityInfoJsonAsync(authKey, activityid).Result;
                    }
                }

                if (!string.IsNullOrWhiteSpace(jsonStr) && jsonStr != "null")
                {
                    var aesResult = await GetAesKey();

                    _logger.Info("获取默认账户解码key:" + aesResult);
                    string plainJson = AesCryptoService.Decrypt(jsonStr, aesResult.CryptAESKey, aesResult.CryptAESIV);
                    _logger.Info("解码内容:" + plainJson);
                    activi = JsonConvert.DeserializeObject <ActivityInfo>(plainJson);
                    if (activi != null && activi.ID > 0)
                    {
                        _logger.Info("保存活动缓存");
                        //缓存数据对象
                        await _cacheManager.GetCache(AppConsts.Cache_ActivityInfo).SetAsync(cachekeyname_activity, activi);
                    }
                }
            }


            return(activi);
        }
예제 #10
0
        public async Task <ResetPasswordResponse> ResetPassword()
        {
            string mgccAuthKey = Request.Form["AuthKey"].ToString();
            string mobilePhone = Request.Form["Mobile"].ToString();
            string newPassword = Request.Form["NewPwd"].ToString();
            int    verifyID    = int.Parse(Request.Form["VerifyID"].ToString());
            string verifyCode  = Request.Form["VerifyCode"].ToString();
            string AesKey      = Request.Form["AesKey"].ToString();
            string Iv          = Request.Form["Iv"].ToString();

            UserLoginSoapClient client2 = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
            var EncryptPassword         = "";

            EncryptPassword = AesCryptoService.Encrypt(newPassword, AesKey, Iv);
            var data = await client2.ResetPasswordAsync(new ResetPasswordRequest
            {
                AuthKey    = await DefaultUserLoginAndGetMCKey(false),
                mobile     = mobilePhone,
                newpwd     = EncryptPassword,
                VerifyCode = verifyCode,
                VerifyID   = verifyID
            });

            if (data.ResetPasswordResult != 0)
            {
                data = await client2.ResetPasswordAsync(new ResetPasswordRequest
                {
                    AuthKey    = await DefaultUserLoginAndGetMCKey(),
                    mobile     = mobilePhone,
                    newpwd     = EncryptPassword,
                    VerifyCode = verifyCode,
                    VerifyID   = verifyID
                });
            }
            var resultData = data.ResetPasswordResult == 0;

            if (resultData)
            {
                var openid = await _cacheManager.GetCache(AppConsts.Cache_AuthKey2OpenID)
                             .GetOrDefaultAsync <string, string>(mgccAuthKey);
                await SetMemberInfo(openid, data.username, newPassword, mgccAuthKey, AesKey, Iv, mobilePhone);
            }

            return(data);
        }
        public void Encrypt_ShouldReturn_EncryptedText()
        {
            var textToEncrypt = "text for encryption";

            var provider = new Mock <ICryptoKeyProvider>();

            provider.Setup(x => x.GenerateCryptoKey(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .Returns(ConvertStreamToSecureString(new MemoryStream(Guid.NewGuid().ToByteArray())));

            var factory = new Mock <ICryptoKeyProviderFactory>();

            factory.Setup(x => x.GetKeyProvider()).Returns(provider.Object);

            var encrypter     = new AesCryptoService(factory.Object);
            var encryptedText = encrypter.Encrypt(_application, _tenant, _key, textToEncrypt);

            Assert.NotNull(encryptedText);
            Assert.NotEmpty(encryptedText);
        }
예제 #12
0
        private string GetMemberAuthKey(string mgccAuthKey)
        {
            var AesResult = GetAesKey();
            var openid    = _cacheManager.GetCache(AppConsts.Cache_AuthKey2OpenID).GetOrDefaultAsync(mgccAuthKey).Result;

            if (openid != null)//MgccKey没过期
            {
                var _memberInfo = _mpUserMemberAppService.GetByOpenID(openid.ToString()).Result;
                if (_memberInfo != null)//会员->用会员帐户名登陆
                {
                    Logger.Info("登录的会员信息:" + JsonConvert.SerializeObject(_memberInfo));

                    Logger.Info("会员登录:" + mgccAuthKey);
                    Logger.Info("用户名:" + _memberInfo.MemeberUserName + ",密码:" + _memberInfo.MemberPassword);

                    return((string)_cacheManager.GetCache(AppConsts.Cache_MCAuthKey).Get <string, string>(mgccAuthKey, c =>
                    {
                        UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
                        var EncryptPassword = "";
                        try
                        {
                            EncryptPassword = AesCryptoService.Encrypt(_memberInfo.MemberPassword, AesResult.CryptAESKey, AesResult.CryptAESIV);
                        }
                        catch
                        {
                            AesResult = GetAesKey(true);
                            EncryptPassword = AesCryptoService.Encrypt(_memberInfo.MemberPassword, AesResult.CryptAESKey, AesResult.CryptAESIV);
                        }
                        //获取最新的AuthKey
                        var result = client.LoginExAsync(new LoginExRequest
                        {
                            UserName = _memberInfo.MemeberUserName,
                            EncryptPassword = EncryptPassword,
                            DeviceCode = deviceCode
                        }).Result;

                        return result.AuthKey;
                    }));
                }
            }
            return(null);
        }
예제 #13
0
        public async Task <string> GetClientInfoByOfficialCityJsonAsync()
        {
            string AuthKey      = Request.Form["AuthKey"].ToString();
            string AesKey       = Request.Form["AesKey"].ToString();
            string Iv           = Request.Form["Iv"].ToString();
            int    OfficialCity = 1;

            int.TryParse(Request.Form["OfficialCity"].ToString(), out OfficialCity);
            yilibabyClientInfo.ClientInfoServiceSoapClient client = new yilibabyClientInfo.ClientInfoServiceSoapClient(yilibabyClientInfo.ClientInfoServiceSoapClient.EndpointConfiguration.ClientInfoServiceSoap);
            var result = await client.GetClientInfoByOfficialCityJsonAsync(AuthKey, OfficialCity);

            if (!string.IsNullOrWhiteSpace(result) && result != "null")
            {
                return(AesCryptoService.DecryptText(result, AesKey, Iv));
            }
            else
            {
                return(result);
            }
        }
예제 #14
0
        static void TestNameEncryption()
        {
            string fileName = "Обучение CRM.docx";

            Console.WriteLine("Source name: " + fileName);

            IHashService      md5            = new Md5HashService();
            IDecodingService  unicodeDecoder = new Utf8Coder();
            ICryptoService    aes            = new AesCryptoService();
            EncryptionService svc            = new EncryptionService(md5, unicodeDecoder, aes);

            svc.SetCipherData("qazqaz", "qwer");

            string ecryptedName = svc.Process(fileName, CipherDirection.Encryption, new Base64Coder(), new Utf8Coder());

            Console.WriteLine("Encrypted name: " + ecryptedName);

            string decryptedName = svc.Process(ecryptedName, CipherDirection.Decryption, new Utf8Coder(), new Base64Coder());

            Console.WriteLine("Decrypted name: " + decryptedName);
        }
예제 #15
0
        /// <summary>
        /// 美驰默认账号登录并获取美驰authkey
        /// </summary>
        /// <returns></returns>
        private async Task <string> DefaultUserLoginAndGetMCKey(bool getnew = true)
        {
            if (!getnew)
            {
                var mckey = await _cacheManager.GetCache(AppConsts.Cache_MCAuthKey).GetOrDefaultAsync("DefaultMCAuthKey");

                if (mckey != null)
                {
                    return((string)mckey);
                }
            }

            UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
            var EncryptPassword        = "";
            var AesResult = await GetDefaultAesKey();

            try
            {
                EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
            }
            catch
            {
                AesResult = await GetDefaultAesKey(true);

                EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
            }
            var result = await client.LoginExAsync(new LoginExRequest { UserName = defaultUserName, EncryptPassword = EncryptPassword, DeviceCode = deviceCode });

            if (result.LoginExResult == 0 && !string.IsNullOrWhiteSpace(result.AuthKey))
            {
                await _cacheManager.GetCache(AppConsts.Cache_MCAuthKey).SetAsync("DefaultMCAuthKey", result.AuthKey);

                return(result.AuthKey);
            }
            else
            {
                return("");
            }
        }
예제 #16
0
        /// <summary>
        /// 获取会员信息
        /// </summary>
        /// <param name="authKey"></param>
        /// <returns></returns>
        public async Task <MemberTemp> GetServiceMember(string authKey)
        {
            string jsonStr = string.Empty;

            yilibabyMember.MemberServiceSoapClient client = new yilibabyMember.MemberServiceSoapClient(yilibabyMember.MemberServiceSoapClient.EndpointConfiguration.MemberServiceSoap);
            {
                jsonStr = await client.GetMyMemberInfoJsonAsync(authKey);
            }

            MemberTemp member = null;

            if (!string.IsNullOrWhiteSpace(jsonStr) && jsonStr != "null")
            {
                var aesResult = await GetAesKey();

                string plainJson = AesCryptoService.Decrypt(jsonStr, aesResult.CryptAESKey, aesResult.CryptAESIV);

                member = JsonConvert.DeserializeObject <MemberTemp>(plainJson);
            }

            return(member);
        }
예제 #17
0
        public async Task <string> GetSubCitysBySuperJson()
        {
            string AuthKey = Request.Form["AuthKey"].ToString();
            string AesKey  = Request.Form["AesKey"].ToString();
            string Iv      = Request.Form["Iv"].ToString();
            int    CityID  = 1;

            int.TryParse(Request.Form["CityID"].ToString(), out CityID);

            OfficialCityServiceSoapClient client = new OfficialCityServiceSoapClient(OfficialCityServiceSoapClient.EndpointConfiguration.OfficialCityServiceSoap);

            var result = await client.GetSubCitysBySuperJsonAsync(AuthKey, CityID);

            if (!string.IsNullOrWhiteSpace(result) && result != "null")
            {
                return(AesCryptoService.DecryptText(result, AesKey, Iv));
            }
            else
            {
                return(result);
            }
        }
예제 #18
0
        /// <summary>
        /// 更新会员信息
        /// </summary>
        /// <param name="authKey"></param>
        /// <param name="member"></param>
        /// <returns></returns>
        public async Task <bool> UpdateMemberInfoJson(string authKey, MemberTemp member)
        {
            int      result    = -1;
            DateTime startTime = DateTime.Now;

            //string authKey = "";
            try
            {
                yilibabyMember.MemberServiceSoapClient client = new yilibabyMember.MemberServiceSoapClient(yilibabyMember.MemberServiceSoapClient.EndpointConfiguration.MemberServiceSoap);

                var aesResult = await GetAesKey();

                string jsonStr = JsonConvert.SerializeObject(member);
                jsonStr = AesCryptoService.Encrypt(jsonStr, aesResult.CryptAESKey, aesResult.CryptAESIV);
                result  = await client.UpdateMemberInfoJsonAsync(authKey, jsonStr);

                if (result >= 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                _logger.Error($"更新会员资料出错,错误信息:{ex.Message},错误堆栈:{ex.StackTrace}");

                return(false);
            }
            finally
            {
                _logger.Info($"MemberService.UpdateMemberInfoJson信息:开始时间{startTime},终止时间:{DateTime.Now},AuthKey:{authKey},回复值:{result}");
                //LogInterfaceMan.AddLog("MemberService.UpdateMemberInfoJson", 0, startTime, DateTime.Now, "MemberName:" + ";Password:"******";AuthKey:" + authKey, "", result.ToString(), "", "", result == 0 ? true : false);
            }
        }
예제 #19
0
        public async Task <string> GetRetailerListByOfficialCityJson()
        {
            Logger.Info("门店调用开始");
            string AuthKey      = Request.Form["AuthKey"].ToString();
            string AesKey       = Request.Form["AesKey"].ToString();
            string Iv           = Request.Form["Iv"].ToString();
            int    OfficialCity = 1;

            int.TryParse(Request.Form["OfficialCity"].ToString(), out OfficialCity);
            Logger.Info("城市id:" + OfficialCity);

            MemberServiceSoapClient client = new MemberServiceSoapClient(MemberServiceSoapClient.EndpointConfiguration.MemberServiceSoap);

            var result = await client.GetRetailerListByOfficialCityJsonAsync(AuthKey, OfficialCity);

            if (!string.IsNullOrWhiteSpace(result) && result != "null")
            {
                return(AesCryptoService.DecryptText(result, AesKey, Iv));
            }
            else
            {
                return(result);
            }
        }
예제 #20
0
        public async Task <string> GetHotGiftsJson()
        {
            int TopCount = -1;

            int.TryParse(Request.Form["TopCount"].ToString(), out TopCount);
            int MaxPoints = -1;

            int.TryParse(Request.Form["MaxPoints"].ToString(), out MaxPoints);
            DateTime BeginDate = DateTime.MinValue;

            DateTime.TryParse(Request.Form["BeginDate"].ToString(), out BeginDate);
            MemberServiceSoapClient client = new MemberServiceSoapClient(MemberServiceSoapClient.EndpointConfiguration.MemberServiceSoap);

            string result = "";

            try
            {
                result = await client.GetHotGiftsJsonAsync(await DefaultUserLoginAndGetMCKey(), TopCount, MaxPoints, BeginDate);
            }
            catch
            {
                result = await client.GetHotGiftsJsonAsync(await DefaultUserLoginAndGetMCKey(true), TopCount, MaxPoints, BeginDate);
            }
            var AesResult = await GetDefaultAesKey();

            try
            {
                return(AesCryptoService.Decrypt(result, AesResult.CryptAESKey, AesResult.CryptAESIV));
            }
            catch
            {
                AesResult = await GetDefaultAesKey(true);

                return(AesCryptoService.Decrypt(result, AesResult.CryptAESKey, AesResult.CryptAESIV));
            }
        }
예제 #21
0
        public async Task <int> UpdateMemberInfoJson()
        {
            string AuthKey = Request.Form["AuthKey"].ToString();
            string AesKey  = Request.Form["AesKey"].ToString();
            string Iv      = Request.Form["Iv"].ToString();
            string Member  = Request.Form["Member"].ToString();
            MemberServiceSoapClient client = new MemberServiceSoapClient(MemberServiceSoapClient.EndpointConfiguration.MemberServiceSoap);

            Logger.Info("会员更新:" + AuthKey);
            var mckey     = AuthKey;
            var aesMember = AesCryptoService.Encrypt(Member, AesKey, Iv);

            Logger.Info("传入更新的会员信息:" + Member);

            var result = await client.UpdateMemberInfoJsonAsync(mckey, aesMember);

            Logger.Info($"更新的结果:{result}");


            #region 获取更新后美驰的会员信息
            var jsonStr = await client.GetMyMemberInfoJsonAsync(mckey);

            if (!string.IsNullOrWhiteSpace(jsonStr) && jsonStr != "null")
            {
                string plainJson = AesCryptoService.DecryptText(jsonStr, AesKey, Iv);
                Logger.Info($"获取美驰的更新后的会员信息:{plainJson}");
            }
            #endregion


            var openid = await _cacheManager.GetCache(AppConsts.Cache_AuthKey2OpenID).GetOrDefaultAsync(AuthKey);

            var member = await _mpUserMemberAppService.GetByOpenID(openid.ToString());

            var newmember = JsonConvert.DeserializeObject <MeiChiMember>(Member);
            member.MemberType        = newmember.MemberType;
            member.BabyName          = newmember.BabyName;
            member.BabyBirthday      = newmember.Birthday;
            member.MemberName        = newmember.RealName;
            member.MemberIdentity    = newmember.HomeRole.ToString();
            member.RegistProductName = newmember.CollectProductName;
            member.RegistProduct     = newmember.CollectProduct;
            member.UsedBrand         = newmember.PreBrand;
            member.FeedingMode       = newmember.FeedMode;
            member.MonthConsumption  = newmember.EatQuantityOneMonth;
            member.DayConsumption    = newmember.EatTimesOneDay;
            member.OfficialCity      = newmember.OfficialCity;
            member.Address           = newmember.Address;
            member.LikeChannel       = newmember.ServicePreferences.ToString();
            member.ServiceShop       = newmember.serviceCMClientName;
            if (!string.IsNullOrWhiteSpace(newmember.OfficialCityName))
            {
                var areaArray = newmember.OfficialCityName.Split(' ');
                member.Province = areaArray.Length > 0 ? areaArray[0] : string.Empty;
                member.City     = areaArray.Length > 1 ? areaArray[1] : string.Empty;
                member.Area     = areaArray.Length > 2 ? areaArray[2] : string.Empty;
            }
            //member.ServiceShopCode = newmember.serviceCMClientCode;
            member.CRMID = newmember.CRMID;
            var fans = await _mpFanAppService.GetFirstOrDefaultByOpenID(openid.ToString());

            if (fans != null)
            {
                fans.MemberID = newmember.CRMID;
                await _mpFanAppService.Update(fans);
            }
            else
            {
                await _mpFanAppService.Create(new MpFans.Dto.MpFanDto
                {
                    OpenID               = openid.ToString(),
                    IsFans               = true,
                    MpID                 = 1,
                    MemberID             = newmember.CRMID,
                    LastModificationTime = DateTime.Now
                });
            }
            await _mpUserMemberAppService.Update(member);

            return(result);
        }
예제 #22
0
 public AesCryptoServiceTests()
 {
     this._cryptoKeyStub           = "I'mTestKey";
     this._cryptoServiceUnderTests = new AesCryptoService(this._cryptoKeyStub);
 }