Ejemplo n.º 1
0
        public async Task <Expense> CreateExpense(UserInExpense userInExpense, string userId)
        {
            Expense exp = new Expense();

            exp.CreaterId   = userInExpense.CreaterId;
            exp.Cost        = userInExpense.Cost;
            exp.Date        = userInExpense.Date;
            exp.Description = userInExpense.Description;
            exp.Split       = userInExpense.Split;
            exp.PaidbyId    = userInExpense.PaidbyId;
            exp.GrpId       = userInExpense.GrpId;


            var      grp      = context.Group.Find(userInExpense.GrpId);
            Activity activity = new Activity();

            activity.UserId      = userId;
            activity.Description = "Created Expense in group :" + grp.GroupName;

            await context.Expense.AddAsync(exp);

            await context.Activity.AddAsync(activity);

            return(exp);
        }
Ejemplo n.º 2
0
        public UserInExpense GetExpenseID(int id)
        {
            var userExpense = context.UserExpenses.Where(x => x.ExpId == id).
                              Include(x => x.User).
                              Include(x => x.Expense).
                              ThenInclude(x => x.Group).
                              ThenInclude(x => x.Category).
                              ToList();
            UserInExpense userInExpense = new UserInExpense();

            userInExpense.Cost               = userExpense[0].Expense.Cost;
            userInExpense.Description        = userExpense[0].Expense.Description;
            userInExpense.Date               = userExpense[0].Expense.Date;
            userInExpense.CreaterId          = userExpense[0].Expense.CreaterId;
            userInExpense.GrpId              = userExpense[0].Expense.Group.Id;
            userInExpense.PaidbyId           = userExpense[0].Expense.PaidbyId;
            userInExpense.Split              = userExpense[0].Expense.Split;
            userInExpense.Id                 = userExpense[0].Expense.Id;
            userInExpense.GroupUsersExpenses = new List <GroupUsersExpensesAC>();
            foreach (var i in userExpense)
            {
                GroupUsersExpensesAC groupUsersExpensesAC = new GroupUsersExpensesAC();
                groupUsersExpensesAC.UserId = i.User.Id;
                groupUsersExpensesAC.Amount = i.SplitAmount;
                userInExpense.GroupUsersExpenses.Add(groupUsersExpensesAC);
            }
            return(userInExpense);
        }
Ejemplo n.º 3
0
        public async Task EditExpense(int id, UserInExpense expense)
        {
            Expense            userInExpense = context.Expense.FirstOrDefault(x => x.Id == id);
            List <UserExpense> Uexp          = context.UserExpenses.Where(x => x.ExpId == userInExpense.Id).ToList();

            context.UserExpenses.RemoveRange(Uexp);
            userInExpense.Cost        = expense.Cost;
            userInExpense.Description = expense.Description;
            userInExpense.Date        = expense.Date;
            userInExpense.CreaterId   = expense.CreaterId;
            userInExpense.GrpId       = expense.GrpId;
            userInExpense.PaidbyId    = expense.PaidbyId;
            userInExpense.Split       = expense.Split;
            context.Expense.Update(userInExpense);
            await AddUser(expense, id);
        }
Ejemplo n.º 4
0
 public async Task <IActionResult> EditExpense([FromRoute] int id, [FromBody] UserInExpense expense)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     unitofwork.ExpenseRepository.EditExpense(id, expense);
     try
     {
         await unitofwork.Save();
     }
     catch (DbUpdateConcurrencyException)
     {
     }
     return(NoContent());
 }
Ejemplo n.º 5
0
        public async Task <UserInExpense> AddUser(UserInExpense userInExpense, int expId)
        {
            //int expId = GetExpenseId(userInExpense.Date);
            List <UserExpense> list = new List <UserExpense>();

            foreach (var i in userInExpense.GroupUsersExpenses)
            {
                UserExpense userExpense = new UserExpense();
                userExpense.ExpId       = expId;
                userExpense.UsersId     = i.UserId;
                userExpense.SplitAmount = i.Amount;
                list.Add(userExpense);
            }
            await context.UserExpenses.AddRangeAsync(list);

            return(userInExpense);
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> CreateExpense([FromBody] UserInExpense userInExpense)
        {
            if (ModelState.IsValid)
            {
                var             username = User.Identity.Name;
                ApplicationUser user     = await userManager.FindByNameAsync(username);

                var exp = await unitofwork.ExpenseRepository.CreateExpense(userInExpense, user.Id);

                await unitofwork.Save();

                await unitofwork.ExpenseRepository.AddUser(userInExpense, exp.Id);

                await unitofwork.Save();
            }
            return(Ok(userInExpense));
        }