示例#1
0
        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();
        }
示例#2
0
        public void EditBill(CabinBill bill)
        {
            var billName = _repo.Query <BillName>().FirstOrDefault(e => e.Id == bill.BillName.Id);

            bill.BillName = billName;
            _repo.Update(bill);
        }
示例#3
0
 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));
 }