public static void SetUp(TestContext context)
        {
            _unitOfWork = new UnitOfWork();
            var memberFactory = new MemberFactory();

            _email = Guid.NewGuid().ToString();

            _decorator = new MemberDecorator(memberFactory, _unitOfWork.MemberRepository);

            _oldCount = _unitOfWork.MemberRepository.Count();
            _member = memberFactory.CreateMember(_email);
            _sameMember = memberFactory.CreateMember(_email);

            _decorator.Add(_member);
            _unitOfWork.PersistAll();

            using (var uow = new UnitOfWork())
            {
                _newCount = uow.MemberRepository.Count();
                try
                {
                    _loadedMember = uow.MemberRepository.Get(_member.Id);
                }
                catch (Exception)
                {
                    _loadedMember = null;
                }
            }
        }
        public MemberResponse AddMember(String email)
        {
            _serviceContext.ContentType = "text/html";

            MemberResponse response = new MemberResponse();
            IUnitOfWork uow = null;
            IMemberFactory factory = null;

            try
            {
                uow = new UnitOfWork();
                factory = new MemberFactory();

                var member = factory.CreateMember(email);
                uow.MemberRepository.Add(member);
                uow.PersistAll();

                response.Id = member.Id;
                response.Email = member.Email;
            }
            catch (ArgumentNullException)
            {
                throw FaultFactory.CreateFaultException(
                        new ArgumentFault()
                        {
                            Argument = "email",
                            Message = String.Format(
                                CultureInfo.InvariantCulture,
                                Resources.CannotBeNullOrEmptyString_String,
                                "Email",
                                0),
                            Value = email
                        });
            }
            catch (ArgumentException)
            {
                throw FaultFactory.CreateFaultException(
                    new ArgumentFault()
                    {
                        Argument = "email",
                        Message = String.Format(
                            CultureInfo.InvariantCulture,
                            Resources.EntityAllreadyExist_String,
                            "Member"),
                        Value = email
                    });
            }
            finally
            {
                if (uow != null)
                {
                    uow.Close();
                }
            }

            return response;
        }
 public When_creating_member()
 {
     _memberFactory = new MemberFactory();
     _email = "*****@*****.**";
     _member = _memberFactory.CreateMember(_email);
 }