/// <summary> /// update a user info /// </summary> /// <param name="smsDTO"></param> public void UpdateVip(VipDTO vipDTO) { if (vipDTO == null || vipDTO.Id == Guid.Empty) { throw new ArgumentException(Messages.warning_CannotUpdateVipWithEmptyInformation); } //get persisted item var persisted = _vipRepository.Get(vipDTO.Id); if (persisted != null) //if customer exist { //materialize from customer dto var current = MaterializeVipFromDto(vipDTO); //Merge changes _vipRepository.Merge(persisted, current); //commit unit of work _vipRepository.UnitOfWork.Commit(); } else { LoggerFactory.CreateLog().LogWarning(Messages.warning_CannotUpdateNonExistingVIP); } }
Vip MaterializeVipFromDto(VipDTO vipDTO) { var current = VipFactory.CreateVip(vipDTO.CreateOn, vipDTO.EndDateTime, vipDTO.AccountId, vipDTO.Remark); current.ChangeCurrentIdentity(vipDTO.Id); return(current); }
/// <summary> /// news a account /// </summary> /// <param name="praiseDTO"></param> /// <returns></returns> public VipDTO AddNewVip(VipDTO vipDTO) { //check preconditions if (vipDTO == null) { throw new ArgumentException(Messages.warning_CannotAddVipWithEmptyInformation); } //Create the entity and the required associated data var vip = VipFactory.CreateVip(vipDTO.CreateOn, vipDTO.EndDateTime, vipDTO.AccountId, vipDTO.Remark); //save entity SaveVip(vip); //return the data with id and assigned default values return(vip.ProjectedAs <VipDTO>()); }