using Microsoft.AspNetCore.Cors.Infrastructure; using Microsoft.AspNetCore.Mvc.Rendering; using System; using SampleWorkflowWeb.Models; namespace SampleWorkflowWeb.Services { public class CardService : ICardService { #region Fields private List _cards; #endregion #region Ctor public CardService() { _cards = new List(); _cards.Add(new CardModel() { Id = 1, PAN = "6221-0612-2862-5721", BankName = "پارسیان", FullName = "بهزاد علیزاده" }); _cards.Add(new CardModel() { Id = 2, PAN = "6221-0612-2577-8317", BankName = "پارسیان", FullName = "بهزاد علیزاده" }); _cards.Add(new CardModel() { Id = 3, PAN = "6037-6915-6533-2053", BankName = "صادرات", FullName = "ذکربا تاجمیری" }); _cards.Add(new CardModel() { Id = 4, PAN = "6037-6915-6533-2053", BankName = "ملی", FullName = "مصطفی حسنی کلشتری" }); _cards.Add(new CardModel() { Id = 5, PAN = "6219-8619-9535-2407", BankName = "سامان", FullName = "علی محمدی" }); _cards.Add(new CardModel() { Id = 6, PAN = "5022-2910-9783-9243", BankName = "پاسارگاد", FullName = "اکبر وفایی مزید" }); _cards.Add(new CardModel() { Id = 7, PAN = "6037-6916-2463-8961", BankName = "صادرات", FullName = "رضا پازوکی" }); _cards.Add(new CardModel() { Id = 8, PAN = "5892-1016-2042-8678", BankName = "سپه", FullName = "حسن بهرامی" }); } #endregion #region GetSourceCardsService public SelectList GetSourceCardsService() { var myCards = _cards .Select(x => new { Id = x.Id, Title = $"{x.PAN}" }) .Take(2); return new SelectList(myCards, "Id", "Title"); } #endregion #region GetDestinationCardsService public SelectList GetDestinationCardsService() { var cards = _cards .Select(x => new { Id = x.Id, Title = $"{x.PAN}" }) .Skip(2); return new SelectList(cards, "Id", "Title"); } #endregion #region GetCardService public CardModel? GetCardService(int id) { var card = _cards .FirstOrDefault(x => x.Id == id); return card; } #endregion #region GetCardOwnerService public string? GetCardOwnerService(int id) { var fullName = _cards .FirstOrDefault(x => x.Id == id)? .FullName; return fullName; } #endregion #region TransferAsync public async Task TransferAsync(string sourcePan, string destinationPan, long? amount) { return true; } #endregion } public interface ICardService { SelectList GetSourceCardsService(); SelectList GetDestinationCardsService(); CardModel? GetCardService(int id); string? GetCardOwnerService(int id); Task TransferAsync(string sourcePan, string destinationPan, long? amount); } }