コード例 #1
0
ファイル: UserManagerTests.cs プロジェクト: abnormy/Mamont
        public void LoadUserTest()
        {
            var userRepo = new UserRepo();
            var sessionRepo = new SessionRepo();
            var balanceRepo = new BalanceLogRepo();

            var user = new User();
            userRepo.Save(user);
            Assert.IsNotNull(user.Id, "Not saved.");
            var session = new Session { UserId = user.Id };
            sessionRepo.Save(session);

            var date = DateTime.UtcNow;

            balanceRepo.Save(new BalanceLog { UserId = user.Id, Amount = 3, Comment = "comment", Date = date });

            var manager = new UserManager();
            var loaded = manager.LoadBySessionKey(session.Id).WithBallanceLog();
            Assert.IsNotNull(loaded, "Not loaded");
            Assert.AreEqual(user.Id, loaded.Id, "Loaded incorrectly");
            Assert.IsNotNull(loaded.BallanceLog, "Balance log is null.");
            Assert.AreEqual(1, loaded.BallanceLog.Count(), "Balance log count incorrect.");
            var balance = loaded.BallanceLog.First();
            Assert.AreEqual(3, balance.Amount, "Amount incorrect.");
            Assert.AreEqual("comment", balance.Comment, "Comment incorrect.");
            Assert.AreEqual(date, balance.Date, "Date incorrect.");
        }
コード例 #2
0
ファイル: BallanceController.cs プロジェクト: abnormy/Mamont
 public void PostBalance(BalanceLogDto balance)
 {
     var manager = new UserManager();
     var user = manager.LoadBySessionKey(SessionId);
     user.UpdateBalance(balance.Diff, balance.Comment);
     user.Save();
 }
コード例 #3
0
ファイル: TaxesController.cs プロジェクト: abnormy/Mamont
 public void PutTax(Tax tax)
 {
     var manager = new UserManager();
     var user = manager.LoadBySessionKey(SessionId);
     var taxes = user.Taxes.ToList();
     taxes.Add(tax);
     user.Taxes = taxes;
     user.Save();
 }
コード例 #4
0
ファイル: TaxesController.cs プロジェクト: abnormy/Mamont
 public void DeleteTax(string name)
 {
     var manager = new UserManager();
     var user = manager.LoadBySessionKey(SessionId);
     var taxes = user.Taxes.ToList();
     taxes.RemoveAll(t => t.Name == name);
     user.Taxes = taxes;
     user.Save();
 }
コード例 #5
0
        public void GetProcessTaxes()
        {
            var manager = new UserManager();
            var user = manager.LoadBySessionKey(SessionId);

            foreach (var tax in user.Taxes)
            {
                user.UpdateBalance(-tax.Cost, string.Format("Tax payment: {0}", tax.Name));
            }
            user.Save();
        }
コード例 #6
0
ファイル: BallanceController.cs プロジェクト: abnormy/Mamont
 public double GetBallance()
 {
     var manager = new UserManager();
     var user = manager.LoadBySessionKey(SessionId);
     return user.Balance;
 }
コード例 #7
0
ファイル: LogController.cs プロジェクト: abnormy/Mamont
 public List<BalanceLog> GetBalanceLog()
 {
     var manager = new UserManager();
     var user = manager.LoadBySessionKey(SessionId).WithBallanceLog();
     return user.BallanceLog.OrderByDescending(l => l.Date).ToList();
 }
コード例 #8
0
ファイル: TaxesController.cs プロジェクト: abnormy/Mamont
 public List<Tax> GetTaxes()
 {
     var manager = new UserManager();
     var user = manager.LoadBySessionKey(SessionId);
     return user == null ? null : (user.Taxes ?? new List<Tax>()).ToList();
 }