Beispiel #1
0
        public bool CreateUserAccount(string userName, string email, string password)
        {
            try
            {
                var user = new User
                {
                    Email = email,
                    Name = userName,
                    Password = password
                };

                using (var db = new Entities())
                {
                    db.User.Add(user);
                    db.SaveChanges();
                }

                return true;
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
                return false;
            }
        }
Beispiel #2
0
        public bool CreateBudget(string name, string password, int ownerId)
        {
            var budget = new Budget
            {
                Name = name,
                Password = password,
                Created = DateTime.Now,
                Owner = ownerId
            };

            try
            {
                using (var db = new Entities())
                {
                    db.Budget.Add(budget);
                    db.SaveChanges();
                }

                return true;
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
                return false;
            }
        }
Beispiel #3
0
        public bool ChangePassword(string userEmail, string newPassword, string oldPassword)
        {
            try
            {
                using (var db = new Entities())
                {
                    db.User.Load();

                    var user = db.User.Local
                        .FirstOrDefault(x => x.Email == userEmail);
                    if (user == null || user.Password != oldPassword)
                    {
                        return false;
                    }
                    user.Password = newPassword;

                    db.User.AddOrUpdate(user);
                    db.SaveChanges();
                }

                return true;
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
                return false;
            }
        }
Beispiel #4
0
        public bool AddTransaction(Transaction transaction)
        {
            try
            {
                using (var db = new Entities())
                {
                    db.TransactionHistory.Load();
                    db.Transaction.Load();

                    int lastTransactionHistoryId;
                    int lastTransactionId = 0;
                    decimal lastBalance = 0;

                    if (db.Transaction.Local.Any())
                    {
                        lastTransactionId = db.Transaction.Local
                            .Max(x => x.Id);
                    }

                    if (db.TransactionHistory.Local.Any(x => x.Budget_ID == transaction.Budget_ID))
                    {
                        lastTransactionHistoryId = db.TransactionHistory.Local
                            .Where(x => x.Budget_ID == transaction.Budget_ID)
                            .Max(x => x.Id);

                        lastBalance = db.TransactionHistory.Local
                            .Where(x => x.Budget_ID == transaction.Budget_ID)
                            .First(x => x.Id == lastTransactionHistoryId).BalanceAfter;
                    }
                    var newItem = new TransactionHistory
                    {
                        Budget_ID = transaction.Budget_ID,
                        Transaction_ID = lastTransactionId + 1
                    };

                    if (transaction.Type == TransactionTypeEnum.Income.ToString())
                    {
                        newItem.BalanceAfter = lastBalance + transaction.Amount;
                    }
                    if (transaction.Type == TransactionTypeEnum.Expenditure.ToString())
                    {
                        newItem.BalanceAfter = lastBalance - transaction.Amount;
                    }

                    db.Transaction.Add(transaction);
                    db.TransactionHistory.Add(newItem);
                    db.SaveChanges();
                }

                return true;
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
                return false;
            }
        }
Beispiel #5
0
        public bool AddUserToBudget(int userId, int budgetId, int ownerId)
        {
            try
            {
                using (var db = new Entities())
                {
                    db.User.Load();
                    db.Budget.Load();

                    if (db.User.Local.All(x => x.Id != userId)
                        || db.Budget.Local.All(x => x.Id != budgetId))
                    {
                        return false;
                    }

                    var budget = db.Budget.Local.FirstOrDefault(x => x.Id == budgetId);
                    if (budget == null || budget.Owner != ownerId)
                    {
                        return false;
                    }

                    db.UserBudgets.Add(new UserBudgets
                    {
                        Budget_ID = budgetId,
                        User_ID = userId
                    });

                    db.SaveChanges();
                }

                return true;
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
                return false;
            }
        }