Beispiel #1
0
        public async Task AskforPayment(string message)
        {
            try
            {
                JObject objMessage    = JObject.Parse(message);
                int     ParticipantId = (int)objMessage["ParticipantId"];
                int     RoomId        = (int)objMessage["RoomId"];
                int     AppointmentId = (int)objMessage["AppointmentId"];
                decimal Amount        = (decimal)objMessage["Amount"];
                var     model         = await _commonManager.CreatePaymentOrder(new PaymentModel
                {
                    Amount        = Amount,
                    PayeeId       = ParticipantId,
                    PaymentStatus = "Initiated",
                    AppointmentId = AppointmentId,
                });

                model.ProviderId = (int)objMessage["ProviderId"];
                var participant = await _commonManager.GetParticipantDetailsById(new CallParticipantModel
                {
                    ParticipantId = ParticipantId,
                    RoomId        = RoomId,
                    AppointmentId = AppointmentId,
                    Role          = "patient",
                });

                await Clients.Client(participant.SocketId).SendAsync("AskforPayment", JsonSerializer.Serialize(model));
            }
            catch (Exception ex)
            {
                await Clients.Caller.SendAsync("Exception", new JObject
                {
                    ["error"]      = ex.Message,
                    ["stackTrace"] = ex.StackTrace
                }.ToString());
            }
        }