Example #1
0
        public async Task DeleteDiscount(int id)
        {
            var result = await context.DiscountPeriods.FirstOrDefaultAsync(e => e.Id == id);

            var discountTransaction = await context.DiscountTransaction.Where(x => x.DiscountPeriodId == id).ToListAsync();

            var item = await context.Item.Where(x => x.DiscountId == id).ToListAsync();

            if (discountTransaction != null)
            {
                context.DiscountTransaction.RemoveRange(discountTransaction);
                await context.SaveChangesAsync();
            }
            if (item != null)
            {
                foreach (var i in item)
                {
                    i.DiscountId = 0;
                    context.Entry(i).Property("DiscountId").IsModified = true;
                    context.SaveChanges();
                }
            }
            if (result != null)
            {
                context.DiscountPeriods.Remove(result);
                await context.SaveChangesAsync();
            }
        }