public async Task <PaidPackage> Update(PaidPackage paidPackage, CancellationToken cancellationToken) { var paidPackagePrice = _context.PaidPackagePrices.AsNoTracking().ToList(); var paidPackagePricesToAdd = new List <PaidPackagePrice>(); // List dùng để thêm mới nếu chưa tồn tại var listPaidPackagePrices = paidPackage.paidPackagePrices.ToList(); foreach (var item in listPaidPackagePrices) { // Kiểm tra tồn tại trong DB var itemExist = paidPackagePrice.FirstOrDefault(x => x.Period == item.Period && x.PaidPackageId == paidPackage.Id); if (itemExist == null) { item.PaidPackageId = paidPackage.Id; paidPackagePricesToAdd.Add(item); paidPackage.paidPackagePrices.Remove(item); } else { item.Id = itemExist.Id; } } _context.PaidPackages.Update(paidPackage); await _context.PaidPackagePrices.AddRangeAsync(paidPackagePricesToAdd, cancellationToken); await _context.SaveChangesAsync(cancellationToken); return(paidPackage); }
public async Task <PaidPackage> Add(PaidPackage paidPackage, CancellationToken cancellationToken) { await _context.PaidPackages.AddAsync(paidPackage, cancellationToken); await _context.SaveChangesAsync(cancellationToken); return(paidPackage); }
public Task Delete(PaidPackage paidPackage, CancellationToken cancellationToken) { _context.PaidPackages.Remove(paidPackage); _context.SaveChanges(); return(Task.CompletedTask); }