public void AddNewBill(CabinBill bill) { var billName = _repo.Query <BillName>().FirstOrDefault(n => n.Id == bill.BillName.Id); bill.BillName = billName; bill.DateEntered = DateTime.Now; _repo.Add(bill); var month = _repo.Query <Month>() .Where(m => m.Year == bill.Year) .Where(m => m.MonthNum == bill.MonthNum) .FirstOrDefault(); if (month == null) { var newMonth = new Month() { MonthNum = bill.MonthNum, Year = bill.Year }; _repo.Add(newMonth); newMonth.CabinBills.Add(bill); } else { month.CabinBills.Add(bill); } _repo.SaveChanges(); }
public void EditBill(CabinBill bill) { var billName = _repo.Query <BillName>().FirstOrDefault(e => e.Id == bill.BillName.Id); bill.BillName = billName; _repo.Update(bill); }
public IActionResult Post([FromBody] CabinBill bill) { if (ModelState.IsValid) { if (bill.Id == 0) { _service.AddNewBill(bill); return(Created("/bills/" + bill.Id, bill)); } else { _service.EditBill(bill); return(Ok(bill)); } } return(BadRequest(ModelState)); }