Esempio n. 1
0
        public void TryDisputeTransaction(int userId)
        {
            CheckRepresentativeModificationPermissions(userId);

            this.RepresentativeRequestStatus = RepresentativeRequestStatus.InDispute;
            this.Save();
        }
Esempio n. 2
0
        public void TryRejectTransaction(int userId)
        {
            CheckRepresentativeModificationPermissions(userId);

            RepresentativesTransferManager representativesTransferManager = new RepresentativesTransferManager(
                Conversation.GetOtherUserId(userId), userId);

            this.RepresentativeRequestStatus = RepresentativeRequestStatus.Rejected;
            this.Save();

            representativesTransferManager.RejectWithdrawal(this);
        }
Esempio n. 3
0
 public ConversationMessage(int conversationId, int senderId, DateTime dateTime, string text, MessageType messageType,
                            RepresentativeRequestStatus representativeRequestStatus, Money representativeTransferAmount)
 {
     ConversationId = conversationId;
     UserId         = senderId;
     DateTime       = dateTime;
     Text           = text;
     MessageType    = messageType;
     RepresentativeRequestStatus  = representativeRequestStatus;
     RepresentativeTransferAmount = representativeTransferAmount;
     IsRead = false;
 }
Esempio n. 4
0
        public void TryCancelTransaction(int userId)
        {
            int representativeId = Conversation.GetOtherUserId(userId);

            if (MessageType != MessageType.RepresentativeDepositRequest)
            {
                CheckRepresentativeModificationPermissions(representativeId);
            }
            else
            {
                CheckRepresentativeModificationPermissions(representativeId, false);
            }

            RepresentativesTransferManager representativesTransferManager = new RepresentativesTransferManager(
                userId, representativeId);

            representativesTransferManager.TryCancelDeposit(Member.CurrentInCache.Name, this);
            this.RepresentativeRequestStatus = RepresentativeRequestStatus.Cancelled;
            this.Save();
        }
Esempio n. 5
0
        public static void SendMessage(this Member sender, int recipientId, string text, MessageType messageType,
                                       RepresentativeRequestStatus representativeRequestStatus, Money representativeTransferAmount)
        {
            //if (!sender.IsFriendsWith(recipientId) && messageType == MessageType.Normal)
            //    throw new MsgException("You can only send messages to your friends.");

            if (string.IsNullOrEmpty(text))
            {
                return;
            }

            var sentDate     = AppSettings.ServerTime;
            var conversation = Conversation.GetAndUpdate(sender.Id, recipientId, sentDate);

            conversation.Save();

            var message = new ConversationMessage(conversation.Id, sender.Id, sentDate,
                                                  text, messageType, representativeRequestStatus, representativeTransferAmount);

            message.Save();
        }
Esempio n. 6
0
        public string TryConfirmTransaction(int userId)
        {
            CheckRepresentativeModificationPermissions(userId);

            RepresentativesTransferManager representativesTransferManager = new RepresentativesTransferManager(
                Conversation.GetOtherUserId(userId), userId);

            string ResultMessage = String.Empty;

            if (this.MessageType == MessageType.RepresentativeDepositRequest)
            {
                ResultMessage = representativesTransferManager.TryConfirmDeposit(this);
            }

            if (this.MessageType == MessageType.RepresentativeWithdrawalRequest)
            {
                ResultMessage = representativesTransferManager.ConfirmWithdrawal(this);
            }

            this.RepresentativeRequestStatus = RepresentativeRequestStatus.Completed;
            this.Save();

            return(ResultMessage);
        }