public JsonResult GetDisputeInfoByTransID(string TransactionId)
        {
            var transaction = new ParticipantDisputeResponseDTO();

            if (TransactionId != null && !string.IsNullOrEmpty(TransactionId))
            {
                TransactionFund tf = _businessLayer.GetAllTransactions().Where(x => x.TransactionId == TransactionId).FirstOrDefault();
                if (tf != null)
                {
                    transaction.Id         = tf.Id;
                    transaction.SenderId   = tf.Sender?.AccountNumber;
                    transaction.ReceiverId = tf.Receiver?.AccountNumber;
                    //transaction.SenderId = _businessLayer.GetBankUserById((int)tf.SenderId).AccountNumber + "@idtp";
                    transaction.TransactionAmount = (double)tf.Amount;
                    //transaction.ReceiverId = _businessLayer.GetBankUserById((int)tf.ReceiverId).AccountNumber + "@idtp";
                    tf.EntityState = EntityState.Unchanged;
                    DisputeTransactionFund dt = _businessLayer.GetDisputeTransactionById(tf.Id);
                    transaction.DisputeTitle        = dt.DisputeTitle;
                    transaction.DisputeDetails      = dt.DisputeDetail;
                    transaction.DisputeSeverity     = dt.DisputeSeverity.Name;
                    transaction.ParticipantAction   = dt.ParticipantAction.ToString();
                    transaction.ParticipantResponse = dt.ParticipantResponseText;
                    dt.EntityState = EntityState.Unchanged;
                }
            }
            return(Json(transaction));
        }
        public IActionResult LodgeParticipantComplaint([FromForm] DisputeTransactionDTO disputeTransactionDTO)
        {
            try
            {
                DisputeTransactionFund dt = new DisputeTransactionFund();
                if (disputeTransactionDTO != null)
                {
                    dt = new DisputeTransactionFund
                    {
                        Id = disputeTransactionDTO.Id,
                        OriginatorTypeId              = 3,
                        ExecutorTypeId                = 3,
                        OriginatorId                  = disputeTransactionDTO.OriginatorId,
                        ExecutorId                    = disputeTransactionDTO.ExecutorId,
                        DisputeActionId               = disputeTransactionDTO.DisputeActionId,
                        DisputeDetail                 = disputeTransactionDTO.DisputeDetail,
                        DisputeSettledBy              = 0,
                        DisputeSettlementStatus       = false,
                        DisputeSettlementTime         = DateTime.Now,
                        DisputeSettlementType         = disputeTransactionDTO.DisputeSettlementType,
                        DisputeSeverityId             = disputeTransactionDTO.DisputeSeverityId,
                        DisputeTitle                  = disputeTransactionDTO.DisputeTitle,
                        DisputeType                   = disputeTransactionDTO.DisputeType,
                        TransactionSettlementStatusId = 0,
                        ParticipantResponseText       = null,
                        ParticipantAction             = null,
                        CreatedOn   = DateTime.Now,
                        ModifiedOn  = DateTime.Now,
                        EntityState = EntityState.Added
                    };

                    _businessLayer.AddDisputeTransaction(dt);
                }
                return(RedirectToAction("Index", "Home"));
            }
            catch (Exception ex)
            {
                //return new JsonResult(new { HttpStatusCode = NotFound(HttpStatusCode.BadRequest), ex.Message });
                throw new Exception(ex.Message);
            }
        }
        public IActionResult ParticipantResponseToDispute([FromForm] DisputeTransactionDTO disputeTransactionDTO)
        {
            DisputeTransactionFund dt = new DisputeTransactionFund();

            if (disputeTransactionDTO != null)
            {
                dt = _businessLayer.GetDisputeTransactionById(disputeTransactionDTO.Id);

                dt.DisputeAction           = null;
                dt.DisputeSeverity         = null;
                dt.TransactionFund         = null;
                dt.ParticipantAction       = disputeTransactionDTO.ParticipantAction;
                dt.ParticipantResponseText = disputeTransactionDTO.ParticipantResponseText;
                dt.DisputeSettlementStatus = (disputeTransactionDTO.ParticipantAction == true ? true : false);
                dt.CreatedOn  = DateTime.Now;
                dt.ModifiedOn = DateTime.Now;

                dt.EntityState = EntityState.Modified;

                _businessLayer.UpdateDisputeTransaction(dt);
            }
            return(RedirectToAction("Index", "Home"));
        }