コード例 #1
0
 public async Task AddMobile(MobileDto mobileDto)
 {
     mobileDto.Commission = CalculateCommission(mobileDto.Amount);
     mobileDto.Service    = "mobile";
     var mobile = _mapper.Map <Mobile>(mobileDto);
     await _payRepository.AddAsync(mobile);
 }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public virtual MobileDto SendCode(MobileDto dto)
        {
            dto.Account = GetAccount(dto.AccountId);
            if (dto.Account == null)
            {
                return(dto);
            }
            dto.CodeEntity = new CodeEntity
            {
                Tag       = string.Format("{0}{1}", Tag, dto.Action),
                Type      = CodeType.Mobile,
                Name      = dto.AccountId.ToString(),
                ToAddress = dto.GetMobile(),
                SaveType  = SaveType.Add
            };
            var unitofworks = CodeDomainService.Handle(dto.CodeEntity);

            dto.Result = Winner.Creator.Get <IContext>().Commit(unitofworks);
            dto.Errors = dto.Errors;
            if (dto.Result)
            {
                MobileRepository.Send(new MobileEntity
                {
                    Body      = dto.CodeEntity.Body,
                    ToMobiles = new []
                    {
                        dto.CodeEntity.ToAddress
                    }
                });
            }
            return(dto);
        }
コード例 #3
0
ファイル: PayController.cs プロジェクト: goga-gelkhauri/owork
        public async Task <IActionResult> AddMobile([FromBody] MobileDto mobileDto)
        {
            if (ModelState.IsValid)
            {
                await _payService.AddMobile(mobileDto);

                return(Ok("Success"));
            }


            return(BadRequest(ModelState.GetModelStateErrors()));
        }
コード例 #4
0
 /// <summary>
 /// 执行
 /// </summary>
 /// <param name="dto"></param>
 /// <returns></returns>
 public virtual MobileDto Action(MobileDto dto)
 {
     dto.Account = GetAccount(dto.AccountId);
     if (dto.Account == null)
     {
         return(dto);
     }
     dto.Result = CodeValidateDomainService.ValidateCode(string.Format("{0}{1}", Tag, dto.Action), dto.AccountId.ToString(), CodeType.Mobile, dto.Code);
     if (dto.Result && dto.Action == "Bind")
     {
         dto.Account.AccountIdentites = new List <AccountIdentityEntity>();
         if (dto.Mobile != dto.Account.Mobile)
         {
             var accountIdentiy = GetAccountIdentity(dto.Account.Mobile);
             accountIdentiy.SaveType = SaveType.Remove;
             dto.Account.AccountIdentites.Add(accountIdentiy);
         }
         dto.Account.Mobile         = dto.Mobile;
         dto.Account.IsActiveMobile = true;
         dto.Account.SetProperty(it => it.Mobile)
         .SetProperty(it => it.IsActiveMobile);
         dto.Account.SaveType = SaveType.Modify;
         dto.Account.AccountIdentites.Add(new AccountIdentityEntity
         {
             Account  = dto.Account,
             Name     = "Mobile",
             Number   = dto.Mobile,
             SaveType = SaveType.Add
         });
         var unitofworks = AccountDomainService.Handle(dto.Account);
         dto.Result = Winner.Creator.Get <IContext>().Commit(unitofworks);
         dto.Errors = dto.Errors;
     }
     dto.SetAction();
     return(dto);
 }
コード例 #5
0
 /// <summary>
 /// 加载
 /// </summary>
 /// <param name="dto"></param>
 /// <returns></returns>
 public virtual MobileDto Load(MobileDto dto)
 {
     dto.Account = GetAccount(dto.AccountId);
     dto.SetAction();
     return(dto);
 }