public ActionResult Index(WithdrawalSearchModel withdrawalSearchModel) { try { WithdrawalViewModel wvm = new WithdrawalViewModel(); if (withdrawalSearchModel.StartDateString != null && withdrawalSearchModel.StartDateString != "") { withdrawalSearchModel.StartDate = DateTime.ParseExact(withdrawalSearchModel.StartDateString, "dd-MM-yyyy", CultureInfo.InvariantCulture); } if (withdrawalSearchModel.EndDateString != null && withdrawalSearchModel.EndDateString != "") { withdrawalSearchModel.EndDate = DateTime.ParseExact(withdrawalSearchModel.EndDateString, "dd-MM-yyyy", CultureInfo.InvariantCulture).AddDays(1).AddMilliseconds(-1); } wvm.WithdrawalModelList = dal.GetWithdrawals(withdrawalSearchModel); var bankAccount = dal.GetBanks(); ViewBag.BankAccount = new SelectList(bankAccount, "Id", "BankName"); var gameType = dal.GetGameTypes(); ViewBag.GameType = new SelectList(gameType, "Id", "GameType"); var status = from Status s in Enum.GetValues(typeof(Status)) select new { ID = (int)s, Name = s.ToString() }; ViewBag.Status = new SelectList(status, "ID", "Name"); return(View(wvm)); } catch { Session["message"] = "Unable to perform this request"; Session["requestStatus"] = "Error"; return(RedirectToAction("Index", "Withdrawal")); } }
public ActionResult Index() { if (Session["userName"] != null) { dal.UpdateNotificationsByType("withdrawal"); WithdrawalViewModel wvm = new WithdrawalViewModel(); WithdrawalSearchModel wsm = new WithdrawalSearchModel(); wsm.Status = Status.PENDING; wvm.WithdrawalModelList = dal.GetWithdrawals(wsm); var bankAccount = dal.GetBanks(); ViewBag.BankAccount = new SelectList(bankAccount, "Id", "BankName"); var gameType = dal.GetGameTypes(); ViewBag.GameType = new SelectList(gameType, "Id", "GameType"); var status = from Status s in Enum.GetValues(typeof(Status)) select new { ID = (int)s, Name = s.ToString() }; ViewBag.Status = new SelectList(status, "ID", "Name"); wvm.Message = Session["message"] != null ? Session["message"].ToString() : null; wvm.RequestStatus = Session["requestStatus"] != null ? Session["requestStatus"].ToString() : null; Session.Remove("message"); Session.Remove("requestStatus"); return(View(wvm)); } else { return(RedirectToAction("Index", "Login")); } }
private void ReturnFieldValues(WithdrawalSearchModel sessionSearchModel = null) { if (sessionSearchModel is null) { sessionSearchModel = Session["WithdrawalSearch"] as WithdrawalSearchModel; } if (sessionSearchModel != null) { txtStatus.Value = sessionSearchModel.Status; txtClientId.Value = sessionSearchModel.ClientModel.Id; txtClientEmail.Value = sessionSearchModel.ClientModel.Email; txtClientName.Value = sessionSearchModel.ClientName; txtWalletId.Value = sessionSearchModel.WalletId; txtDocumentId.Value = sessionSearchModel.DocumentId; txtCreatedDate.Value = sessionSearchModel.CreatedDate; txtDocStatus.Value = sessionSearchModel.DocumentStatus; } }
protected void Page_Load(object sender, EventArgs e) { string pageChecker = Request.QueryString["page"]; if (string.IsNullOrEmpty(pageChecker)) { Session.Remove("WithdrawalSearch"); } using (NpgsqlConnection conn = Classes.DB.InstBTCDB("instbtc")) { NpgsqlCommand command = new NpgsqlCommand(); string query = string.Empty; if (Request.HttpMethod == "POST") { string status = txtStatus.Value; string clientId = txtClientId.Value; string clientEmail = txtClientEmail.Value; string clientName = txtClientName.Value; string walletId = txtWalletId.Value; string documentId = txtWalletId.Value; string createdDate = txtCreatedDate.Value; string docStatus = txtDocStatus.Value; string refferenceHash = txtHash.Value; WithdrawalSearchModel searchModel = new WithdrawalSearchModel() { Status = status, ClientModel = new ClientModelSearch { Id = clientId, Email = clientEmail }, DocumentStatus = docStatus, ClientName = clientName, WalletId = walletId, DocumentId = documentId, CreatedDate = createdDate, refference_hash = refferenceHash }; Session["WithdrawalSearch"] = searchModel; } if (Session["WithdrawalSearch"] != null) { WithdrawalSearchModel sessionSearchModel = (WithdrawalSearchModel)Session["WithdrawalSearch"]; //Get SQLCommand Parameters and Query Parameters KeyValuePair <NpgsqlCommand, string> pair = getParameter(sessionSearchModel); command = pair.Key; query = pair.Value; } //Get Withdrawals Datas List <MWithdrawal> withdrawalRequest = new List <MWithdrawal>(); withdrawalRequest = WithdrawalUtilities.WithdrawalRequest(conn, command, query); #region Pagination Dictionary <string, int> pagerDictionary = new Dictionary <string, int>(); string paginationString = "page"; DocListPager.initialize(paginationString, 10); TotalRequest = WithdrawalUtilities.GetWithdrawalCount(conn, command, query); pagerDictionary = DocListPager.paginate(TotalRequest); withdrawalRequest = WithdrawalUtilities.WithdrawalRequest(conn, command, query, pagerDictionary["offset"], pagerDictionary["limit"]); rowCount.InnerText = $"{TotalRequest} Records Found"; resultBody.InnerHtml = BuildHtmlTable(withdrawalRequest).ToString(); #endregion //Get Document Statuses Selection OptionUtilities optionUtilities = new OptionUtilities(); txtDocStatus.Items.Clear(); txtDocStatus.Items.AddRange(optionUtilities.GetDocumentStatusOptions()); //Return Values to their Fields ReturnFieldValues(); } }
private static KeyValuePair <NpgsqlCommand, string> getParameter(WithdrawalSearchModel sessionSearchModel) { ToastrUtilities toastrUtilities = new ToastrUtilities(); string txtStatus = sessionSearchModel?.Status ?? string.Empty; string txtClientId = sessionSearchModel?.ClientModel?.Id ?? string.Empty; string txtClientEmail = sessionSearchModel?.ClientModel?.Email ?? string.Empty; string txtClientName = sessionSearchModel?.ClientName ?? string.Empty; string txtWalletId = sessionSearchModel?.WalletId ?? string.Empty; string txtDocumentId = sessionSearchModel?.DocumentId ?? string.Empty; string txtCreatedDate = sessionSearchModel?.CreatedDate ?? string.Empty; string txtDocStatus = sessionSearchModel?.DocumentStatus ?? string.Empty; string txtHash = sessionSearchModel?.refference_hash ?? string.Empty; string query = string.Empty; NpgsqlCommand command = new NpgsqlCommand(); if (!string.IsNullOrEmpty(txtStatus)) { command.Parameters.AddWithValue("@Status", txtStatus); query += " AND w.credited_status = @Status"; } if (!string.IsNullOrEmpty(txtHash)) { command.Parameters.AddWithValue("@refference_hash", txtHash); query += " AND w.refference_hash = @refference_hash"; } if (!string.IsNullOrEmpty(txtDocStatus)) { if (int.TryParse(txtDocStatus, out int ds)) { command.Parameters.AddWithValue("@docstatus", ds); query += " AND w.document_status = @docstatus"; } } if (!string.IsNullOrEmpty(txtClientId)) { if (int.TryParse(txtClientId, out int cid)) { command.Parameters.AddWithValue("@ClientId", cid); query += " AND w.user_id = @ClientId"; } else { toastrUtilities.SessionPush("toast", new KeyValuePair <string, string>("error", "Invalid Client ID")); } } if (!string.IsNullOrEmpty(txtClientEmail)) { command.Parameters.AddWithValue("@ClientEmail", txtClientEmail); query += " AND c.email = @ClientEmail"; } if (!string.IsNullOrEmpty(txtClientName)) { command.Parameters.AddWithValue("@ClientName", txtClientName); query += " AND w.client_name = @ClientName"; } if (!string.IsNullOrEmpty(txtWalletId)) { command.Parameters.AddWithValue("@WalletId", txtWalletId); query += " AND w.wallet_id = @WalletId"; } if (!string.IsNullOrEmpty(txtDocumentId)) { if (int.TryParse(txtDocumentId, out int did)) { command.Parameters.AddWithValue("@DocumentId", did); query += " AND w.document_id = @DocumentId"; } else { toastrUtilities.SessionPush("toast", new KeyValuePair <string, string>("error", "Invalid Document ID")); } } if (!string.IsNullOrEmpty(txtCreatedDate)) { if (DateTime.TryParse(txtCreatedDate, out DateTime cd)) { command.Parameters.AddWithValue("@CreatedDate", cd); query += " AND w.created_date::date = @CreatedDate"; } else { toastrUtilities.SessionPush("toast", new KeyValuePair <string, string>("error", "Invalid Date")); } } KeyValuePair <NpgsqlCommand, string> pair = new KeyValuePair <NpgsqlCommand, string>(command, query); return(pair); }