예제 #1
0
        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;
        }
예제 #2
0
        public MemberResponse GetMember(Int32 memberId)
        {
            _serviceContext.ContentType = "text/html";

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

            try
            {
                uow = new UnitOfWork();

                var member = uow.MemberRepository.Get(memberId);

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

            return response;
        }