示例#1
0
 /// <summary>
 /// Saves the money detail for a transaction to the data source.
 /// </summary>
 /// <param name="billId">Value that represents the type of bill.</param>
 /// <param name="quantity">Value that represents how many bills will be saved.</param>
 public void AddToBalance(byte billId, short quantity)
 {
     using (BalanceEntities balanceDb = new BalanceEntities())
     {
         try
         {
             MoneyDetail money = new MoneyDetail();
             money.Bill         = balanceDb.Bills.Single(b => b.billId == billId);
             money.billQuantity = quantity;
             money.detailId     = _detail.detailId;
             balanceDb.SaveChanges();
         }
         catch (Exception e)
         {
             throw e;
         }
     }
 }
        public void GenerateMoneyDetails(int count = 10)
        {
            var repository = DependencyResolver.Current.GetService <IRepository>();

            var users = repository.Users.OrderByDescending(p => p.ID).Take(count);

            var income = rand.Next(10) * 1000 + 2000;

            foreach (var user in users)
            {
                var moneyIncome = new MoneyDetail()
                {
                    UserID      = user.ID,
                    Sum         = income,
                    Type        = (int)MoneyDetail.TypeEnum.Income,
                    Description = "Пополнение на старте",
                };
                var guid = Guid.NewGuid();
                repository.CreateMoneyDetail(moneyIncome, guid);
                repository.SubmitMoney(guid);
            }
            Assert.AreEqual(0, 0);
        }
        private void GenerateMeetings(int userCount, int meetingCount)
        {
            var repository = DependencyResolver.Current.GetService <IRepository>();
            var users      = repository.Users.ToList().OrderBy(p => Guid.NewGuid()).Take(userCount);

            var cities = repository.Cities.ToList();

            foreach (var user in users)
            {
                for (int i = 0; i < meetingCount; i++)
                {
                    if (user.Money >= 50)
                    {
                        var meeting = new Meeting()
                        {
                            UserID      = user.ID,
                            MeetingDate = DateTime.Now.AddDays(rand.Next(30)),
                            Text        = Textarium.GetRandomText(1).Teaser(140),
                            CityID      = cities.OrderBy(p => Guid.NewGuid()).First().ID,
                        };

                        var moneyDetail = new MoneyDetail()
                        {
                            Type        = (int)MoneyDetail.TypeEnum.PayForMeeting,
                            Sum         = -50,
                            Description = "Оплата создания встречи",
                            UserID      = user.ID
                        };
                        var guid = Guid.NewGuid();
                        repository.CreateMoneyDetail(moneyDetail, guid);
                        repository.CreateMeeting(meeting);
                        repository.SubmitMoney(guid);
                    }
                }
            }
        }