public async Task <IActionResult> PutUseVoucher(long id, UseVoucher useVoucher) { if (id != useVoucher.Id) { return(BadRequest()); } _context.Entry(useVoucher).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!UseVoucherExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <UseVoucher> > Excute() { var _context = new TGDDContext(); Voucher voucher = _context.Vouchers.FirstOrDefault(voucher => voucher.Code == UserVoucherDTO.CodeVoucher); if (voucher == null) { return(NotFound("Voucher khồn tồn tại")); } else { DateTime date = DateTime.Now; if (date < voucher.StartDate && date > voucher.EndDate) { return(NotFound("Voucher đã hết hạn")); } //UseVoucher useVoucher = _context.UseVouchers.FirstOrDefault(useVoucher.VoucherId == voucher.Id && useVoucher.CustomerId == UserVoucherDTO.CustomerId); UseVoucher useVoucher = _context.UseVouchers.Where(useVoucher => useVoucher.VoucherId == voucher.Id && useVoucher.CustomerId == UserVoucherDTO.CustomerId).FirstOrDefault(); if (useVoucher == null) { long newId = _context.UseVouchers.Max(useVoucher => useVoucher.Id) + 1; useVoucher = new UseVoucher { Id = newId, CustomerId = UserVoucherDTO.CustomerId, Used = true, VoucherId = voucher.Id, Voucher = voucher, }; _context.UseVouchers.Add(useVoucher); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { throw; } } else { return(NotFound("Voucher đã được sử dụng !")); }; } return(Ok()); }