/// <summary> /// 执行 /// </summary> /// <param name="dto"></param> /// <returns></returns> public virtual EmailDto Action(EmailDto 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.Email, dto.Code); if (dto.Action == "Bind") { dto.Account.AccountIdentites = new List <AccountIdentityEntity>(); if (dto.Email != dto.Account.Email) { var accountIdentiy = GetAccountIdentity(dto.Account.Email); accountIdentiy.SaveType = SaveType.Remove; dto.Account.AccountIdentites.Add(accountIdentiy); } dto.Account.Email = dto.Email; dto.Account.IsActiveEmail = true; dto.Account.SetProperty(it => it.Email); dto.Account.SetProperty(it => it.IsActiveEmail); dto.Account.SaveType = SaveType.Modify; dto.Account.AccountIdentites.Add(new AccountIdentityEntity { Account = dto.Account, Name = "Email", Number = dto.Email, 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 EmailDto Load(EmailDto dto) { dto.Account = GetAccount(dto.AccountId); dto.SetAction(); return(dto); }