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."); }
public void PostBalance(BalanceLogDto balance) { var manager = new UserManager(); var user = manager.LoadBySessionKey(SessionId); user.UpdateBalance(balance.Diff, balance.Comment); user.Save(); }
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(); }
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(); }
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(); }
public double GetBallance() { var manager = new UserManager(); var user = manager.LoadBySessionKey(SessionId); return user.Balance; }
public List<BalanceLog> GetBalanceLog() { var manager = new UserManager(); var user = manager.LoadBySessionKey(SessionId).WithBallanceLog(); return user.BallanceLog.OrderByDescending(l => l.Date).ToList(); }
public List<Tax> GetTaxes() { var manager = new UserManager(); var user = manager.LoadBySessionKey(SessionId); return user == null ? null : (user.Taxes ?? new List<Tax>()).ToList(); }