public IActionResult AddBooking([FromBody] BookDTO model) { model.DateStart = model.DateStart.ToLocalTime(); model.DateFinish = model.DateFinish.ToLocalTime(); model.ExtraDateStart = model.ExtraDateStart.ToLocalTime(); if (model.DateStart > model.DateFinish) { return(new StatusCodeResult(500)); } if (model.DateStart < DateTime.Now) { return(new StatusCodeResult(503)); } if (!CheckDate(model.CarId, model.DateStart, model.DateFinish)) { return(new StatusCodeResult(501)); } if (model.SalesId != 0 && !CheckSale(model.DateStart, model.DateFinish, model.SalesId, model.CarId)) { return(new StatusCodeResult(300)); } var k = (model.DateFinish - model.DateStart).Days; var book = new Book() { DateStart = model.DateStart, ExtraDateStart = model.ExtraDateStart, DateFinish = model.DateFinish, CreateDate = DateTime.Now, CarId = model.CarId, UserId = model.UserId, Place = model.Place, Price = model.Price, Sum = model.Sum == 0?model.Price * (model.DateFinish - model.DateStart).Days:model.Sum, SalesId = model.SalesId }; DbContext.Books.Add(book); DbContext.SaveChanges(); return(new JsonResult( book.Adapt <BookDTO>(), new JsonSerializerSettings() { Formatting = Formatting.Indented })); }
public async Task <bool> UpdateAsync(Book item, CancellationToken cancellationToken = default) { using (var context = new BookLibraryContext(this._optionsBuilder.Options)) { var book = await context.Books.SingleOrDefaultAsync(o => o.Id == item.Id, cancellationToken); if (book == null) { return(false); } item.Adapt(book); await context.SaveChangesAsync(cancellationToken); return(true); } }