void ReleaseDesignerOutlets()
        {
            if (AddExpenseButton != null)
            {
                AddExpenseButton.Dispose();
                AddExpenseButton = null;
            }

            if (ExpenseName != null)
            {
                ExpenseName.Dispose();
                ExpenseName = null;
            }

            if (ExpenseProjectNumber != null)
            {
                ExpenseProjectNumber.Dispose();
                ExpenseProjectNumber = null;
            }

            if (ExpenseProjectTitle != null)
            {
                ExpenseProjectTitle.Dispose();
                ExpenseProjectTitle = null;
            }

            if (ExpenseTotal != null)
            {
                ExpenseTotal.Dispose();
                ExpenseTotal = null;
            }
        }
Beispiel #2
0
        public JsonResult AddExpenseName(ExpenseName expenseName)
        {
            var concernId = Convert.ToInt32(Session["ConcernId"]);
            var userId    = Convert.ToInt32(Session["UserId"]);

            _inventorySetting.AddExpenseName(expenseName, concernId, userId);
            return(Json("added successfully", JsonRequestBehavior.AllowGet));
        }
Beispiel #3
0
 public void AddExpenseName(ExpenseName expenseName, int concernId, int userId)
 {
     expenseName.ConcerInId   = concernId;
     expenseName.Creator      = userId;
     expenseName.CreationDate = DateTime.Now;
     _context.ExpenseNames.Add(expenseName);
     _context.SaveChanges();
 }
Beispiel #4
0
        public IActionResult Add(AddViewModel model)
        {
            var expenses = new List <Expense>();

            foreach (var user in model.Paid)
            {
                var tempValue = Convert.ToDouble(user.Value, CultureInfo.CurrentCulture);
                var value     = Convert.ToDecimal(tempValue);
                if (value != Decimal.Zero)
                {
                    expenses.Add(new Expense()
                    {
                        ExpenseTitle = model.Name,
                        User         = _userRepository.GetUserByName(user.Key),
                        Paid         = value
                    });
                }
            }
            _expenseRepository.AddExpenses(expenses);

            var expensegroup = new ExpenseName()
            {
                Name     = model.Name,
                Expenses = expenses
            };

            _expenseNameRepository.AddGroup(expensegroup);

            decimal sum      = 0;
            decimal tookPart = 0;

            foreach (var user in model.Paid)
            {
                var tempValue = Convert.ToDouble(user.Value, CultureInfo.CurrentCulture);
                var value     = Convert.ToDecimal(tempValue);
                if (value != Decimal.Zero)
                {
                    sum += value;
                    tookPart++;
                }
            }

            var usersToModify = new List <User>();
            var needToPay     = sum / tookPart;

            foreach (var user in model.Paid)
            {
                var tempValue = Convert.ToDouble(user.Value, CultureInfo.CurrentCulture);
                var value     = Convert.ToDecimal(tempValue);
                if (value != Decimal.Zero)
                {
                    usersToModify.Add(new User()
                    {
                        Name = user.Key,
                        Paid = needToPay - value
                    });
                }
            }

            _userRepository.UpdateUsers(usersToModify);

            _expenseRepository.GetAllExpenses();

            var viewModel = new IndexViewModel()
            {
                AllUsers = _userRepository.GetAllUsers(),
                Expenses = _expenseNameRepository.GetAllExpenses()
            };

            return(View("~/Views/Home/Index.cshtml", viewModel));
        }
Beispiel #5
0
        public IActionResult Update(UpdateViewModel model)
        {
            var oldExpenses   = _expenseNameRepository.GetExpenseNameById(model.ExpenseNameId);
            var oldPaidTuples = new List <Tuple <string, decimal> >();

            foreach (var expense in oldExpenses.Expenses)
            {
                oldPaidTuples.Add(new Tuple <string, decimal>(expense.User.Name, expense.Paid));
            }
            var expenses = new List <Expense>();

            foreach (var user in model.Paid)
            {
                var tempValue = Convert.ToDouble(user.Value, CultureInfo.CurrentCulture);
                var value     = Convert.ToDecimal(tempValue);
                if (value != null && value != Decimal.Zero)
                {
                    var itempIntd = oldExpenses.Expenses.SingleOrDefault(x => x.User.Name == user.Key)?.ExpenseId;
                    int id        = 0;
                    if (itempIntd != null)
                    {
                        id = itempIntd.Value;
                    }
                    expenses.Add(new Expense()
                    {
                        ExpenseTitle = model.Name,
                        User         = _userRepository.GetUserByName(user.Key),
                        Paid         = value,
                        ExpenseId    = id
                    });
                }
            }
            _expenseRepository.UpdateExpenses(expenses);

            var expensegroup = new ExpenseName()
            {
                Name     = model.Name,
                Expenses = expenses
            };

            _expenseNameRepository.UpdateGroupById(expensegroup, model.ExpenseNameId);

            decimal oldsum = 0;

            foreach (var expense in oldPaidTuples)
            {
                oldsum += expense.Item2;
            }

            decimal sum      = 0;
            decimal tookPart = 0;

            foreach (var user in model.Paid)
            {
                if (user.Value != null)
                {
                    var tempValue = Convert.ToDouble(user.Value, CultureInfo.CurrentCulture);
                    var value     = Convert.ToDecimal(tempValue);
                    sum += value;
                    tookPart++;
                }
            }

            var oldNeedToPay  = oldsum / oldPaidTuples.Count;
            var usersToModify = new List <User>();
            var needToPay     = sum / tookPart;

            foreach (var user in model.Paid)
            {
                if (user.Value != null)
                {
                    var tempValue    = Convert.ToDouble(user.Value, CultureInfo.CurrentCulture);
                    var value        = Convert.ToDecimal(tempValue);
                    var tempOldValue = oldPaidTuples.Find(x => x.Item1 == user.Key)?.Item2;
                    var oldValue     = oldNeedToPay;
                    if (tempOldValue != null)
                    {
                        oldValue = tempOldValue.Value;
                    }
                    if (value != Decimal.Zero)
                    {
                        usersToModify.Add(new User()
                        {
                            Name = user.Key,
                            Paid = (needToPay - value) - (oldNeedToPay - oldValue)
                        });
                    }
                }
            }

            _userRepository.UpdateUsers(usersToModify);

            var viewModel = new IndexViewModel()
            {
                AllUsers = _userRepository.GetAllUsers(),
                Expenses = _expenseNameRepository.GetAllExpenses()
            };

            return(View("~/Views/Home/Index.cshtml", viewModel));
        }