public static ExpenseMember ToEntity(this ExpenseMemberModel model) { var entity = new ExpenseMember() { DId = model.DId, MemberId = model.MemberId, }; return(entity); }
public static ExpenseMemberModel ToModel(this ExpenseMember entity) { var model = new ExpenseMemberModel() { Id = entity.Id, DId = entity.DId, MemberId = entity.MemberId, User = entity.User.ToModel() }; return(model); }
public static void Initialize(KollektivContext context) { context.Database.EnsureCreated(); if (context.Groups.Any()) { return; } var g1 = new Group { Name = "Bogstadveien 47" }; var g2 = new Group { Name = "Jentekollektivet" }; context.Groups.Add(g1); context.Groups.Add(g2); context.SaveChanges(); var users = new User[] { new User { GroupID = 1, Name = "Manni" }, new User { GroupID = 1, Name = "Geir" }, new User { GroupID = 1, Name = "Kristine" }, new User { GroupID = 2, Name = "Marianne" }, new User { GroupID = 2, Name = "Mari" }, new User { GroupID = 2, Name = "Kari" } }; foreach (User u in users) { context.Users.Add(u); } context.SaveChanges(); var shoppingLists = new ShoppingList[] { new ShoppingList { GroupID = 1, Name = "Julebord", Completed = false, Date = DateTime.Parse("2017-10-02") }, new ShoppingList { GroupID = 1, Name = "Fellesting", Completed = false, Date = DateTime.Parse("2017-12-03") }, new ShoppingList { GroupID = 2, Name = "Innflytningsfest", Completed = false, Date = DateTime.Parse("2017-03-03") } }; foreach (ShoppingList s in shoppingLists) { context.ShoppingLists.Add(s); } context.SaveChanges(); var expenses = new Expense[] { new Expense { AmountCurrency = "NOK", Completed = false, TotalAmount = 300, ExpenseName = "Internett", Date = DateTime.ParseExact("22/11/2016", "dd/mm/yyyy", null), GroupId = 1, NrOfMembers = 3, Owner = "Manni" }, new Expense { AmountCurrency = "NOK", Completed = false, TotalAmount = 2000, ExpenseName = "Ny oppvaskmaskin", Date = DateTime.ParseExact("22/11/2016", "dd/mm/yyyy", null), GroupId = 1, NrOfMembers = 3, Owner = "Manni" }, new Expense { AmountCurrency = "NOK", Completed = false, TotalAmount = 450, ExpenseName = "Strømregning", Date = DateTime.ParseExact("22/11/2016", "dd/mm/yyyy", null), GroupId = 2, NrOfMembers = 3, Owner = "Kari" } }; foreach (Expense e in expenses) { context.Expenses.Add(e); } context.SaveChanges(); var expensemembers = new ExpenseMember[] { new ExpenseMember { AmountCurrency = "NOK", AmountToPay = 100, ExpenseId = 1, MemberName = "Manni", UserId = 1, Paid = false }, new ExpenseMember { AmountCurrency = "NOK", AmountToPay = 100, ExpenseId = 1, MemberName = "Geir", UserId = 2, Paid = true }, new ExpenseMember { AmountCurrency = "NOK", AmountToPay = 100, ExpenseId = 1, MemberName = "Kristine", UserId = 3, Paid = false }, new ExpenseMember { AmountCurrency = "NOK", AmountToPay = 1000, ExpenseId = 2, MemberName = "Marianne", UserId = 4, Paid = false }, new ExpenseMember { AmountCurrency = "NOK", AmountToPay = 500, ExpenseId = 2, MemberName = "Mari", UserId = 5, Paid = false }, new ExpenseMember { AmountCurrency = "NOK", AmountToPay = 500, ExpenseId = 2, MemberName = "Kari", UserId = 6, Paid = false }, new ExpenseMember { AmountCurrency = "NOK", AmountToPay = 200, ExpenseId = 3, MemberName = "Manni", UserId = 1, Paid = true }, new ExpenseMember { AmountCurrency = "NOK", AmountToPay = 250, ExpenseId = 3, MemberName = "Geir", UserId = 2, Paid = true } }; foreach (ExpenseMember e in expensemembers) { context.ExpenseMembers.Add(e); } context.SaveChanges(); var shoppinglistitems = new ShoppingListItem[] { new ShoppingListItem { ShoppinglistId = 1, Check = false, Comodity = "Julepølse" }, new ShoppingListItem { ShoppinglistId = 1, Check = false, Comodity = "Poteter" }, new ShoppingListItem { ShoppinglistId = 1, Check = false, Comodity = "Akevitt" }, new ShoppingListItem { ShoppinglistId = 1, Check = false, Comodity = "Engangsbestikk" }, new ShoppingListItem { ShoppinglistId = 1, Check = false, Comodity = "Julepynt" }, new ShoppingListItem { ShoppinglistId = 1, Check = false, Comodity = "Pinnekjøtt" }, new ShoppingListItem { ShoppinglistId = 1, Check = true, Checkedby = "Manni", Comodity = "Kålrotstappe" }, new ShoppingListItem { ShoppinglistId = 1, Check = false, Comodity = "Ribbe" }, new ShoppingListItem { ShoppinglistId = 2, Check = false, Comodity = "Dopapir" }, new ShoppingListItem { ShoppinglistId = 2, Check = false, Comodity = "Zalo" }, new ShoppingListItem { ShoppinglistId = 2, Check = false, Comodity = "Håndsåpe" }, new ShoppingListItem { ShoppinglistId = 2, Check = false, Comodity = "Ny stekepanne" }, new ShoppingListItem { ShoppinglistId = 3, Check = true, Checkedby = "Marianne", Comodity = "Øltønne" }, new ShoppingListItem { ShoppinglistId = 3, Check = true, Checkedby = "Mari", Comodity = "Ballonger" }, new ShoppingListItem { ShoppinglistId = 3, Check = true, Checkedby = "Kari", Comodity = "Pølser" } }; foreach (ShoppingListItem si in shoppinglistitems) { context.ShoppingListItems.Add(si); } context.SaveChanges(); }
public IActionResult PostExpenseMember([FromBody] ExpenseMember e) { _context.ExpenseMembers.Add(e); _context.SaveChanges(); return(CreatedAtRoute("GetExpenseMember", new { id = e.ExpenseMemberId }, value: e)); }
public async Task <Expense> InsertBillAsync(ExpenseModel bill) { Expense newBill = new Expense(); newBill.BillName = bill.BillName; newBill.CreatorId = bill.CreatorId; newBill.Amount = bill.Amount; newBill.CreatedDate = bill.CreatedDate; newBill.GroupId = bill.GroupId; _Context.Expense.Add(newBill); foreach (var person in bill.Payer) { Payer payer = new Payer(); payer.BillId = newBill.BillId; payer.PayerId = person.Id; payer.PaidAmount = person.Amount; _Context.Payer.Add(payer); } foreach (var person in bill.SharedMember) { ExpenseMember member = new ExpenseMember(); member.Billid = newBill.BillId; member.SharedMemberId = person.Id; member.AmountToPay = person.Amount; _Context.ExpenseMember.Add(member); } for (var i = 0; i < bill.SharedMember.Count - 1; i++) { for (var j = i + 1; j < bill.SharedMember.Count; j++) { var fExist = _Context.Friend.SingleOrDefault(c => c.UserId == bill.SharedMember[i].Id && c.FriendId == bill.SharedMember[j].Id); if (fExist == null) { var Exist = _Context.Friend.SingleOrDefault(c => c.UserId == bill.SharedMember[j].Id && c.FriendId == bill.SharedMember[i].Id); if (Exist == null) { Friend newFriend = new Friend { UserId = bill.SharedMember[i].Id, FriendId = bill.SharedMember[j].Id }; _Context.Friend.Add(newFriend); await _Context.SaveChangesAsync(); } } } } foreach (var data in bill.SettleModels) { if (data.GroupId == null) { var settle = await _Context.Settlement.SingleOrDefaultAsync(c => c.PayerId == data.PayerId && c.SharedMemberId == data.SharedMemberId && c.GroupId == null); if (settle != null) { settle.TotalAmount = settle.TotalAmount + data.TotalAmount; _Context.Settlement.Attach(settle); } else { var setle = await _Context.Settlement.SingleOrDefaultAsync(c => c.PayerId == data.SharedMemberId && c.SharedMemberId == data.PayerId && c.GroupId == null); if (setle != null) { setle.TotalAmount = setle.TotalAmount - data.TotalAmount; _Context.Settlement.Attach(setle); } else { var newSettle = new Settlement(); newSettle.PayerId = data.PayerId; newSettle.SharedMemberId = data.SharedMemberId; newSettle.TotalAmount = data.TotalAmount; _Context.Settlement.Add(newSettle); } } } else { var settle = await _Context.Settlement.SingleOrDefaultAsync(c => c.PayerId == data.PayerId && c.SharedMemberId == data.SharedMemberId && c.GroupId == data.GroupId); if (settle != null) { settle.TotalAmount = settle.TotalAmount + data.TotalAmount; _Context.Settlement.Attach(settle); } else { var setle = await _Context.Settlement.SingleOrDefaultAsync(c => c.PayerId == data.SharedMemberId && c.SharedMemberId == data.PayerId && c.GroupId == data.GroupId); if (setle != null) { setle.TotalAmount = setle.TotalAmount - data.TotalAmount; _Context.Settlement.Attach(setle); } else { var newSettle = new Settlement(); newSettle.PayerId = data.PayerId; newSettle.SharedMemberId = data.SharedMemberId; newSettle.TotalAmount = data.TotalAmount; newSettle.GroupId = data.GroupId; _Context.Settlement.Add(newSettle); } } } } try { await _Context.SaveChangesAsync(); } catch (System.Exception exp) { _Logger.LogError($"Error in {nameof(InsertBillAsync)}: " + exp.Message); } return(newBill); }