コード例 #1
0
        public static async Task <bool> AddMoney(BankAccount account, decimal money, string reason = "")
        {
            Interfaces.IDataService _dataService = DataService.GetDataService();
            if (money < 0)
            {
                return(false);
            }

            Transaction transaction = new Transaction {
                Account = account, Amount = money, Reason = reason, dummytransaction = false, Id = Guid.NewGuid().ToString(), LastExecuted = DateTime.Now
            };

            transaction.TransactionLog += account.Log;
            account.TransactionQueue.Add(transaction);
            bool result = await transaction.Queue();

            account.TransactionQueue.Remove(transaction);

            account.PreviousTransactions.Add(transaction);

            //<summary>
            //added code start
            //<summary>
            _dataService.AddTransaction(transaction);
            _dataService.UpdateBank(account);
            var UserSuperAccount = _dataService.ReturnAllUsers().Where(a => a.Accounts.Where(a => a.Id == account.Id).Any()).FirstOrDefault();

            _dataService.UpdateUser(UserSuperAccount);
            //<summary>
            //added code end
            //<summary>

            return(result);
        }
コード例 #2
0
ファイル: BankLogic.cs プロジェクト: hiwadrashad/De-Bank
        public static async void AddBankAccount(User owner, string name, decimal money)
        {
            var lockingobject = new object();

            Monitor.Enter(lockingobject);
            try
            {
                await Task.Run(() =>
                {
                    Interfaces.IDataService _dataService = DataService.GetDataService();
                    BankAccount user = new BankAccount()
                    {
                        Money = money,
                        Name  = name,
                        Owner = owner
                    };
                    _dataService.AddBankaccounts(user);
                });
            }
#pragma warning disable CS0168 // Variable is declared but never used
            catch (Exception ex)
#pragma warning restore CS0168 // Variable is declared but never used
            {
                GeneralMethods.GeneralMethods.ShowGeneralErrorMessage();
            }
            finally
            {
                Monitor.Exit(lockingobject);
            }
        }
コード例 #3
0
ファイル: BankLogic.cs プロジェクト: hiwadrashad/De-Bank
        //<summary>
        //added code
        //<summary>
        public static async void AddUser(string Name)
        {
            var lockingobject = new object();

            Monitor.Enter(lockingobject);
            try
            {
                await Task.Run(() =>
                {
                    Interfaces.IDataService _dataService = DataService.GetDataService();
                    User user = new User()
                    {
                        Name     = Name,
                        Accounts = new List <BankAccount>()
                        {
                        }
                    };
                    _dataService.AddUser(user);
                });
            }
#pragma warning disable CS0168 // Variable is declared but never used
            catch (Exception ex)
#pragma warning restore CS0168 // Variable is declared but never used
            {
                GeneralMethods.GeneralMethods.ShowGeneralErrorMessage();
            }
            finally
            {
                Monitor.Exit(lockingobject);
            }
        }
コード例 #4
0
        //<summary>
        //added code start
        //<summary>
        public static async Task AddUser(string Name, bool dummyornot)
        {
            var lockingobject = new object();

            Monitor.Enter(lockingobject);
            try
            {
                if (dummyornot == false)
                {
                    await Task.Run(() =>
                    {
                        Interfaces.IDataService _dataService = DataService.GetDataService();
                        User user = new User()
                        {
                            Id       = Guid.NewGuid().ToString(),
                            Name     = Name,
                            Accounts = new List <BankAccount>()
                            {
                            },
                            dummyaccount   = false,
                            dateofcreation = DateTime.Now
                        };
                        _dataService.AddUser(user);
                    });
                }
                else
                {
                    await Task.Run(() =>
                    {
                        Interfaces.IDataService _dataService = DataService.GetDataService();
                        User user = new User()
                        {
                            Id       = Guid.NewGuid().ToString(),
                            Name     = Name,
                            Accounts = new List <BankAccount>()
                            {
                            },
                            dummyaccount   = true,
                            dateofcreation = DateTime.Now
                        };
                        _dataService.AddUser(user);
                    });
                }
            }
#pragma warning disable CS0168 // Variable is declared but never used
            catch (Exception ex)
#pragma warning restore CS0168 // Variable is declared but never used
            {
                GeneralMethods.GeneralMethods.ShowGeneralErrorMessage();
            }
            finally
            {
                Monitor.Exit(lockingobject);
            }
        }
コード例 #5
0
ファイル: BankLogic.cs プロジェクト: hiwadrashad/De-Bank
        //<summary>
        //added code
        //<summary>
        public static async Task <bool> AddMoney(BankAccount account, decimal money, BankAccount opossiteAccount, string reason = "")
        {
            Interfaces.IDataService _dataService = DataService.GetDataService();
            if (money < 0)
            {
                return(false);
            }

            Transaction transaction = new Transaction {
                Account = account, Amount = money, Reason = reason
            };

            transaction.TransactionLog += account.Log;
            account.TransactionQueue.Add(transaction);
            bool result = await transaction.Queue();

            account.TransactionQueue.Remove(transaction);

            account.PreviousTransactions.Add(transaction);

            //<summary>
            //added code
            //<summary>

            Transaction oppossitetransaction = new Transaction {
                Account = opossiteAccount, Amount = -money, Reason = reason
            };

            transaction.TransactionLog += opossiteAccount.Log;
            opossiteAccount.TransactionQueue.Add(oppossitetransaction);
            result = await oppossitetransaction.Queue();

            opossiteAccount.TransactionQueue.Remove(oppossitetransaction);
            opossiteAccount.PreviousTransactions.Add(oppossitetransaction);

            _dataService.AddTransaction(transaction);
            _dataService.UpdateBank(opossiteAccount);
            _dataService.UpdateBank(account);
            var UserSuperAccount         = _dataService.ReturnAllUsers().Where(a => a.Accounts.Where(a => a.Id == account.Id).Any()).FirstOrDefault();
            var OppositeUserSuperAccount = _dataService.ReturnAllUsers().Where(a => a.Accounts.Where(a => a.Id == opossiteAccount.Id).Any()).FirstOrDefault();

            _dataService.UpdateUser(UserSuperAccount);
            _dataService.UpdateUser(OppositeUserSuperAccount);

            //<summary>
            //added code
            //<summary>

            return(result);
        }
コード例 #6
0
ファイル: BankLogic.cs プロジェクト: hiwadrashad/De-Bank
        public static async Task <bool> AddMoney(BankAccount account, decimal money, string reason = "")
        {
            Interfaces.IDataService _dataService = DataService.GetDataService();
            if (money < 0)
            {
                return(false);
            }

            Transaction transaction = new Transaction {
                Account = account, Amount = money, Reason = reason
            };

            transaction.TransactionLog += account.Log;
            account.TransactionQueue.Add(transaction);
            bool result = await transaction.Queue();

            account.TransactionQueue.Remove(transaction);

            account.PreviousTransactions.Add(transaction);



            return(result);
        }
コード例 #7
0
 public MosulendCustomerController(ILogger <MosulendCustomerController> logger, Interfaces.IDataService dataService)
 {
     this.logger      = logger;
     this.dataService = dataService;
 }
コード例 #8
0
 public WeatherForecastController(ILogger <WeatherForecastController> logger, Interfaces.IDataService dataService)
 {
     _logger          = logger;
     this.dataService = dataService;
 }
 public MosulendOrganizationController(ILogger <MosulendOrganizationController> logger, Interfaces.IDataService dataService)
 {
     this.logger      = logger;
     this.dataService = dataService;
 }