예제 #1
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);
 }
예제 #2
0
 /// <summary>
 /// 加载
 /// </summary>
 /// <param name="dto"></param>
 /// <returns></returns>
 public virtual MobileDto Load(MobileDto dto)
 {
     dto.Account = GetAccount(dto.AccountId);
     dto.SetAction();
     return(dto);
 }