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