コード例 #1
0
        public int AddClient(ClientRegistrationInfo clientInfo)
        {
            if (validator.ValidateClientInfo(clientInfo))
            {
                var clientToAdd = new ClientEntity()
                {
                    ClientFirstName = clientInfo.FirstName,
                    ClientLastName  = clientInfo.LastName,
                    PhoneNumber     = clientInfo.PhoneNumber
                };

                clientsRepository.Add(clientToAdd);
                clientsRepository.SaveChanges();

                var balance = new BalanceEntity()
                {
                    ClientID      = clientToAdd.ClientID,
                    ClientBalance = 0
                };

                balanceRepository.Add(balance);
                balanceRepository.SaveChanges();
                return(clientToAdd.ClientID);
            }
            return(-1);
        }
コード例 #2
0
        public async Task <bool> AddMonths(int anualBalanceId, int userId)
        {
            try
            {
                var months = await _balanceRepository.GetAllMonths();

                foreach (Month month in months)
                {
                    Balance balance = new Balance();
                    balance.AnualBalanceId = anualBalanceId;
                    balance.Month          = month;

                    if (await _balanceRepository.Add(balance, userId) == null)
                    {
                        return(false);
                    }
                }

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
コード例 #3
0
        public async Task <Balance> CalculateBalance([FromBody] JObject data)
        {
            DateTime startDate = data["StartDate"].ToObject <DateTime>();
            DateTime endDate   = data["EndDate"].ToObject <DateTime>();

            return(await _balanceRepository.Add(startDate, endDate));
        }
コード例 #4
0
        public async Task <IActionResult> Create([Bind("AnualBalanceId", "MonthId")] Balance balance)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (!await _repository.UniqueMonthValidation(balance))
                    {
                        return(BadRequest());
                    }

                    Balance newBalance = await _repository.Add(balance);

                    if (newBalance == null)
                    {
                        throw new Exception();
                    }

                    return(RedirectToAction(nameof(Details), "Balance", new { id = newBalance.Id }, null));
                }
                catch (Exception)
                {
                    return(BadRequest());
                }
            }
            return(View(balance));
        }
コード例 #5
0
ファイル: BalanceAppService.cs プロジェクト: rntvicente/BHBus
        public Balance Debits(Guid numberCard, string busLine)
        {
            IsValidNumberCard(numberCard);

            IsValidBusLine(busLine);

            Guid passengerID = GetPassengerID(numberCard);

            Guid numberLineID = GetBusLineID(busLine);

            double actualValue = GetLastBalance(passengerID);

            var debits = CreateBalance(passengerID, numberLineID, numberCard, actualValue, Balance.Debit);

            BalanceGreaterThanPassage(debits);

            _BalanceRepository.Add(debits);

            return(debits);
        }
コード例 #6
0
        public async Task CheckOpenOrders(IExchangeClient client)
        {
            var openOrders = await _orderRepository.Get(client.Platform);

            if (openOrders == null || !openOrders.Any())
            {
                return;
            }
            var orders = await client.GetOrders(openOrders.Keys.ToArray());

            foreach (var order in orders.Where(x => x.OrderStatus == OrderStatus.Closed || x.OrderStatus == OrderStatus.Cancelled))
            {
                if (order.OrderStatus != OrderStatus.Cancelled)
                {
                    if (order.OrderType == OrderType.buy)
                    {
                        if (order.IsBorrowed)
                        {
                            await _balanceRepository.Remove(client.Platform, order.Pair, true);
                        }
                        else
                        {
                            await _balanceRepository.Add(client.Platform, order.Pair, order.Volume, order.Price, false);
                        }
                    }
                    else
                    {
                        if (order.IsBorrowed)
                        {
                            await _balanceRepository.Add(client.Platform, order.Pair, order.Volume, order.Price, true);
                        }
                        else
                        {
                            await _balanceRepository.Remove(client.Platform, order.Pair, false);
                        }
                    }
                }

                await _orderRepository.Remove(client.Platform, order.Id);
            }
        }
コード例 #7
0
 public async Task <IActionResult> Post([FromBody] Balance model)
 {
     try
     {
         _logger.LogInformation("Creating a new Balance");
         _balanceRepository.Add(model);
         if (await _balanceRepository.SaveAllAsync())
         {
             var newUri = Url.Link("balanceGet", new { id = model.Id });
             return(Created(newUri, model));
         }
         else
         {
             _logger.LogWarning("Could not save Balance to the database");
         }
     }
     catch (Exception ex)
     {
         _logger.LogError($"Threw exception while saving Balance: {ex}");
     }
     return(BadRequest());
 }