public IHttpActionResult DeletePurchaseLog(int id) { PurchaseLog purchaseLog = db.PurchaseLogs.Find(id); if (purchaseLog == null) { return(NotFound()); } db.PurchaseLogs.Remove(purchaseLog); db.SaveChanges(); PurchaseLogDetailsDto response = new PurchaseLogDetailsDto { ID = purchaseLog.ID, Name = purchaseLog.Name, Budgets = purchaseLog.Budgets.Select(x => new BudgetDetailsDto { ID = x.ID, Balance = x.Balance, PurchaseLogID = x.PurchaseLogID }).ToList(), Savings = purchaseLog.Savings.Select(x => new SavingDetailsDto { ID = x.ID, Balance = x.Balance, GoalBalance = x.GoalBalance, Deadline = x.Deadline, Description = x.Description, PurchaseLogID = x.PurchaseLogID }).ToList(), PurchaseItems = purchaseLog.PurchaseItems.Select(x => new PurchaseItemDetailsDto { ID = x.ID, Amount = x.Amount, Date = x.Date, Comment = x.Comment, CategoryID = x.CategoryID, PurchaseLogID = x.PurchaseLogID }).ToList() }; return(Ok(response)); }
public IHttpActionResult GetPurchaseLog(int id) { PurchaseLog purchaseLogTmp = db.PurchaseLogs.Find(id); PurchaseLogDetailsDto purchaseLog = new PurchaseLogDetailsDto { ID = purchaseLogTmp.ID, Name = purchaseLogTmp.Name, Budgets = purchaseLogTmp.Budgets.Select(x => new BudgetDetailsDto { ID = x.ID, Balance = x.Balance, PurchaseLogID = x.PurchaseLogID }).ToList(), Savings = purchaseLogTmp.Savings.Select(x => new SavingDetailsDto { ID = x.ID, Balance = x.Balance, GoalBalance = x.GoalBalance, Deadline = x.Deadline, Description = x.Description, PurchaseLogID = x.PurchaseLogID }).ToList(), PurchaseItems = purchaseLogTmp.PurchaseItems.Select(x => new PurchaseItemDetailsDto { ID = x.ID, Amount = x.Amount, Date = x.Date, Comment = x.Comment, CategoryID = x.CategoryID, PurchaseLogID = x.PurchaseLogID }).ToList() }; if (purchaseLog == null) { return(NotFound()); } return(Ok(purchaseLog)); }
public IHttpActionResult PostPurchaseLog(PurchaseLogDetailsDto purchaseLog) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.PurchaseLogs.Add(new PurchaseLog { ID = purchaseLog.ID, Name = purchaseLog.Name, Budgets = purchaseLog.Budgets.Select(x => new Budget { ID = x.ID, Balance = x.Balance, PurchaseLogID = x.PurchaseLogID }).ToList(), Savings = purchaseLog.Savings.Select(x => new Saving { ID = x.ID, Balance = x.Balance, GoalBalance = x.GoalBalance, Deadline = x.Deadline, Description = x.Description, PurchaseLogID = x.PurchaseLogID }).ToList(), PurchaseItems = purchaseLog.PurchaseItems.Select(x => new PurchaseItem { ID = x.ID, Amount = x.Amount, Date = x.Date, Comment = x.Comment, CategoryID = x.CategoryID, PurchaseLogID = x.PurchaseLogID }).ToList() }); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = purchaseLog.ID }, purchaseLog)); }
public IHttpActionResult PutPurchaseLog(int id, PurchaseLogDetailsDto purchaseLog) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != purchaseLog.ID) { return(BadRequest()); } PurchaseLog currentPurchaseLog = new PurchaseLog { ID = purchaseLog.ID, Name = purchaseLog.Name, Budgets = purchaseLog.Budgets.Select(x => new Budget { ID = x.ID, Balance = x.Balance, PurchaseLogID = x.PurchaseLogID }).ToList(), Savings = purchaseLog.Savings.Select(x => new Saving { ID = x.ID, Balance = x.Balance, GoalBalance = x.GoalBalance, Deadline = x.Deadline, Description = x.Description, PurchaseLogID = x.PurchaseLogID }).ToList(), PurchaseItems = purchaseLog.PurchaseItems.Select(x => new PurchaseItem { ID = x.ID, Amount = x.Amount, Date = x.Date, Comment = x.Comment, CategoryID = x.CategoryID, PurchaseLogID = x.PurchaseLogID }).ToList() }; db.Entry(purchaseLog).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!PurchaseLogExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }