public GomeeResponse AddGomee( Int32 memberId, String caption, String address, String description, Double latitude, Double longitude, Int32 type) { _serviceContext.ContentType = "text/html"; if (caption == null) throw FaultFactory.CreateFaultException( new ArgumentFault() { Argument = "caption", Message = String.Format( CultureInfo.InvariantCulture, Resources.ArgumentNull_String, "caption"), Value = caption }); if (address == null) throw FaultFactory.CreateFaultException( new ArgumentFault() { Argument = "address", Message = String.Format( CultureInfo.InvariantCulture, Resources.ArgumentNull_String, "address"), Value = address }); if (description == null) throw FaultFactory.CreateFaultException( new ArgumentFault() { Argument = "description", Message = String.Format( CultureInfo.InvariantCulture, Resources.ArgumentNull_String, "description"), Value = description }); GomeeResponse response = new GomeeResponse(); IUnitOfWork uow = null; IGomeeFactory factory = null; try { uow = new UnitOfWork(); factory = new GomeeFactory(); var member = uow.MemberRepository.Get(memberId); var gomee = factory.CreateGomee(member); gomee.Caption = caption; gomee.Address = address; gomee.Description = description; gomee.Latitude = latitude; gomee.Longitude = longitude; gomee.GomeeType = type; uow.GomeeRepository.Add(gomee); uow.PersistAll(); response.Id = gomee.Id; response.MemberId = gomee.Member.Id; response.Caption = gomee.Caption; response.Address = gomee.Address; response.Description = gomee.Description; response.Latitude = gomee.Latitude; response.Longitude = gomee.Longitude; response.Type = gomee.GomeeType; } 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; }
public GomeesResponse GetTheirsGomees(Int32 memberId, Int32 firstIndex, Int32 lastIndex) { _serviceContext.ContentType = "text/html"; if (firstIndex < 0) throw FaultFactory.CreateFaultException( new ArgumentFault() { Argument = "firstIndex", Message = String.Format( CultureInfo.InvariantCulture, Resources.IndexLessThan_String, "firstIndex", 0), Value = firstIndex.ToString(CultureInfo.InvariantCulture) }); if (lastIndex < 0) throw FaultFactory.CreateFaultException( new ArgumentFault() { Argument = "lastIndex", Message = String.Format( CultureInfo.InvariantCulture, Resources.IndexLessThan_String, "lastIndex", 0), Value = lastIndex.ToString(CultureInfo.InvariantCulture) }); if (lastIndex < firstIndex) throw FaultFactory.CreateFaultException( new ArgumentFault() { Argument = "lastIndex", Message = String.Format( CultureInfo.InvariantCulture, Resources.IndexLessThan_String, "lastIndex", "firstIndex"), Value = lastIndex.ToString(CultureInfo.InvariantCulture) }); GomeesResponse response = new GomeesResponse(); IUnitOfWork uow = null; try { uow = new UnitOfWork(); var member = uow.MemberRepository.Get(memberId); var theirsGomees = uow.GomeeRepository.GetTheirsFor(member); var gomees = theirsGomees .Skip(firstIndex) .Take(lastIndex - firstIndex + 1) .Select(g => { return new GomeeResponse() { Id = g.Id, MemberId = g.Member.Id, Caption = g.Caption, Address = g.Address, Description = g.Description, Latitude = g.Latitude, Longitude = g.Longitude, Type = g.GomeeType }; }); response.AllCount = theirsGomees.Count(); response.ResponseCount = gomees.Count(); response.FirstIndex = firstIndex; response.Gomees = gomees.ToArray(); } 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; }
public void RemoveGomee(Int32 memberId, Int32 gomeeId) { _serviceContext.ContentType = "text/html"; IUnitOfWork uow = null; try { uow = new UnitOfWork(); var member = uow.MemberRepository.Get(memberId); var gomees = uow.GomeeRepository.GetMineFor(member); if (gomees.Where(g => g.Id == gomeeId).Count() == 0) throw FaultFactory.CreateFaultException( new ArgumentFault() { Argument = "gomeeId", Message = String.Format( CultureInfo.InvariantCulture, Resources.EntityNotExist_String, "Gomee"), Value = gomeeId.ToString(CultureInfo.InvariantCulture) }); var gomee = gomees.Where(g => g.Id == gomeeId).Single(); var targets = uow.TargetRepository.GetFor(gomee); foreach (var target in targets) { uow.TargetRepository.Remove(target); } uow.GomeeRepository.Remove(gomee); uow.PersistAll(); } 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(); } } }
public void RemoveFriend( Int32 memberId, Int32 friendMemberId) { _serviceContext.ContentType = "text/html"; IUnitOfWork uow = null; try { uow = new UnitOfWork(); var member = uow.MemberRepository.Get(memberId); var friends = uow.FriendRepository.GetFor(member); var friend = friends .Where(f => f.Member1.Id == friendMemberId || f.Member2.Id == friendMemberId) .SingleOrDefault(); if (friend == null) throw FaultFactory.CreateFaultException( new ArgumentFault() { Argument = "friendMemberId", Message = String.Format( CultureInfo.InvariantCulture, Resources.EntityNotExist_String, "Friend"), Value = friendMemberId.ToString(CultureInfo.InvariantCulture) }); uow.FriendRepository.Remove(friend); uow.PersistAll(); } 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(); } } }
public FriendResponse AddFriend( Int32 memberId, Int32 friendMemberId) { _serviceContext.ContentType = "text/html"; FriendResponse response = new FriendResponse(); IUnitOfWork uow = null; IFriendFactory factory = null; try { uow = new UnitOfWork(); factory = new FriendFactory(); var member1 = uow.MemberRepository.Get(memberId); var member2 = uow.MemberRepository.Get(friendMemberId); var friend = factory.CreateFriend(member1, member2); uow.FriendRepository.Add(friend); uow.PersistAll(); response.Id = friend.Id; response.Member1Id = friend.Member1.Id; response.Member2Id = friend.Member2.Id; } 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; }
public FriendsResponse GetFriends( Int32 memberId, Int32 firstIndex, Int32 lastIndex) { _serviceContext.ContentType = "text/html"; if (firstIndex < 0) throw FaultFactory.CreateFaultException( new ArgumentFault() { Argument = "firstIndex", Message = String.Format( CultureInfo.InvariantCulture, Resources.IndexLessThan_String, "firstIndex", 0), Value = firstIndex.ToString(CultureInfo.InvariantCulture) }); if (lastIndex < 0) throw FaultFactory.CreateFaultException( new ArgumentFault() { Argument = "lastIndex", Message = String.Format( CultureInfo.InvariantCulture, Resources.IndexLessThan_String, "lastIndex", 0), Value = lastIndex.ToString(CultureInfo.InvariantCulture) }); if (lastIndex < firstIndex) throw FaultFactory.CreateFaultException( new ArgumentFault() { Argument = "lastIndex", Message = String.Format( CultureInfo.InvariantCulture, Resources.IndexLessThan_String, "lastIndex", "firstIndex"), Value = lastIndex.ToString(CultureInfo.InvariantCulture) }); FriendsResponse response = new FriendsResponse(); IUnitOfWork uow = null; try { uow = new UnitOfWork(); var member = uow.MemberRepository.Get(memberId); var friends = uow.FriendRepository.GetFor(member); var members = friends .Skip(firstIndex) .Take(lastIndex - firstIndex + 1) .Select(f => { var m = f.Member1; if (m.Id == memberId) { m = f.Member2; } return new MemberResponse() { Id = m.Id, Email = m.Email }; }); response.AllCount = friends.Count(); response.ResponseCount = members.Count(); response.FirstIndex = firstIndex; response.Friends = members.ToArray(); } 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; }
public void RemoveTarget(Int32 memberId, Int32 gomeeId, Int32 targetId) { _serviceContext.ContentType = "text/html"; IUnitOfWork uow = null; ITargetFactory factory = null; try { uow = new UnitOfWork(); factory = new TargetFactory(); var member = uow.MemberRepository.Get(memberId); var targetMember = uow.MemberRepository.Get(targetId); var gomee = uow.GomeeRepository.GetMineFor(member).Where(g => g.Id == gomeeId).SingleOrDefault(); if (gomee == null) gomee = uow.GomeeRepository.GetTheirsFor(member).Where(g => g.Id == gomeeId).SingleOrDefault(); uow.PersistAll(); } catch (ArgumentException e) { 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(); } } }
public TargetResponse AddTarget(Int32 memberId, Int32 gomeeId, Int32 targetId) { _serviceContext.ContentType = "text/html"; TargetResponse response = new TargetResponse(); IUnitOfWork uow = null; ITargetFactory factory = null; try { uow = new UnitOfWork(); factory = new TargetFactory(); var member = uow.MemberRepository.Get(memberId); var targetMember = uow.MemberRepository.Get(targetId); var gomees = uow.GomeeRepository.GetMineFor(member); if (gomees.Where(g => g.Id == gomeeId).Count() == 0) throw FaultFactory.CreateFaultException( new ArgumentFault() { Argument = "gomeeId", Message = String.Format( CultureInfo.InvariantCulture, Resources.EntityNotExist_String, "Gomee"), Value = gomeeId.ToString(CultureInfo.InvariantCulture) }); var gomee = gomees.Where(g => g.Id == gomeeId).Single(); var target = factory.CreateGomeeTarget(targetMember, gomee); uow.TargetRepository.Add(target); uow.PersistAll(); response.Id = target.Id; response.MemberId = target.Member.Id; response.GomeeId = target.Gomee.Id; } 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; }
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; }
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; }