public void ReplyToPartnerCall(Guid partnerCallID, Guid replyingUserID, string message) { PartnerCall call = new PartnerCallDA().GetByID(partnerCallID); if (call.CreatorUserID == replyingUserID) { throw new Exception(string.Format("You cannot reply to your own partner call. call[{0}]", call.ID)); } PartnerCallReply reply = new PartnerCallReplyDA().Insert(new PartnerCallReply { ID = Guid.NewGuid(), ReplyDateTime = DateTime.Now, ReplyingUserID = replyingUserID, PartnerCallID = partnerCallID, Message = message }); ClimberProfile poster = CFDataCache.GetClimberFromCache(call.ClimberProfileID); ClimberProfile replyer = CFDataCache.GetClimberFromCache(replyingUserID); MailMan.SendReplyToPartnerCall(call, reply, replyer, replyer.Email, poster.Email); CFLogger.RecordPartnerCallReply(replyingUserID, partnerCallID); }
public List <FeedPartnerCallPost> GetFeedPartnerCallPostsBySettings(FeedSettings settings, int count) { if (settings.CurrentChannelType == (byte)FeedChannel.Place) { return(new PartnerCallDA().GetLatestFeedPartnerCallPostsForPlace(settings.PlaceID.Value, count)); } if (settings.CurrentChannelType == (byte)FeedChannel.Area) { List <PartnerCall> calls = new PartnerCallDA().GetPartnerCallsForAreaTag(settings.AreaID.Value, count, null); return((from c in calls select new FeedPartnerCallPost { Call = c }).ToList()); } else { List <PartnerCall> calls = new PartnerCallDA().GetLatestPartnerCalls(count, PartnerCallPlaceType.Both); return((from c in calls select new FeedPartnerCallPost { Call = c }).ToList()); } }
public void ReplyToPartnerCall(Guid partnerCallID, Guid replyingUserID, string message) { PartnerCall call = new PartnerCallDA().GetByID(partnerCallID); if (call.CreatorUserID == replyingUserID) { throw new Exception(string.Format("You cannot reply to your own partner call. call[{0}]", call.ID)); } PartnerCallReply reply = new PartnerCallReplyDA().Insert( new PartnerCallReply { ID = Guid.NewGuid(), ReplyDateTime = DateTime.Now, ReplyingUserID = replyingUserID, PartnerCallID = partnerCallID, Message = message }); ClimberProfile poster = CFDataCache.GetClimberFromCache(call.ClimberProfileID); ClimberProfile replyer = CFDataCache.GetClimberFromCache(replyingUserID); MailMan.SendReplyToPartnerCall(call, reply, replyer, replyer.Email, poster.Email); CFLogger.RecordPartnerCallReply(replyingUserID, partnerCallID); }