public void NotifyFinalAmountToUser(int userId, TransactionInformation shownTransaction) { var hubContext = Microsoft.AspNet.SignalR.GlobalHost.ConnectionManager.GetHubContext<NotifyHub>(); foreach (var connectionId in NotifyHub._connections.GetConnections(userId.ToString())) { hubContext.Clients.Client(connectionId).showTransactionConfirmation(shownTransaction); } }
public object ReShowConfirmedPopup([FromBody] UserConfirmTransaction model) { try { if (model == null) { return new HttpResponseMessage(HttpStatusCode.BadRequest); } var goEatApi = GoEatApi.Instance; var result = goEatApi.GetModifyTransaction(model.id).Data; bool isSuccess = false; if (result != null) { if (result.drink_status == (int)GoEat.Models.TransactionStatus.Pending) { TransactionInformation transaction = new TransactionInformation { original_price = result.original_price, amount = result.token_amount, order_id = result.order_id, main_transaction_id = result.id, quantity = result.drinks, }; NotifyFinalAmountToUser(result.customer_id, transaction); isSuccess = true; return new { success = isSuccess, mainTransactionId = model.id, status = isSuccess ? result.drink_status : 0, error_code = isSuccess ? string.Empty : ErrorCodes.TransactionNotFound.ToString() }; } else { return new { success = false, mainTransactionId = model.id, status = result.drink_status, error_code = string.Empty }; } } return new { success = isSuccess, mainTransactionId = model.id, status = isSuccess ? result.drink_status : 0, error_code = isSuccess ? string.Empty : ErrorCodes.TransactionNotFound.ToString() }; } catch { return new { success = false, error_code = ErrorCodes.ServerError.ToString() }; } }
private object CreatePendingTokenTransaction(int mainTransactionId, TransactionModel model) { GoEatApi goEatApi = GoEatApi.Instance; var trans = goEatApi.GetMainTransaction(mainTransactionId); MainTransaction updatedTrans = CreateTokenTransactionEntity(trans.Data, model); goEatApi.UpdateTokenTransaction(updatedTrans); bool isSuccess = false; if (mainTransactionId > 0) { TransactionInformation transaction = new TransactionInformation { quantity = updatedTrans.drinks, main_transaction_id = mainTransactionId, amount = updatedTrans.token_amount }; NotifyFinalAmountToUser(model.customer_id, transaction); isSuccess = true; } return new { success = isSuccess, mainTransactionId = mainTransactionId, error_code = isSuccess ? string.Empty : ErrorCodes.ServerError.ToErrorMessage() }; }
public void ShowTransactionConfirmation(string connectionId, TransactionInformation shownTransaction) { string name = Context.User.Identity.GetUserId<int>().ToString(); Clients.Client(connectionId).showTransactionConfirmation(shownTransaction); }