示例#1
0
        public async Task <bool> DeleteVendorByIdAsync(int id)
        {
            bool deleted = false;

            using TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled);

            var getVendorForDelete = await _repository.GetVendorByIdAsync(id);

            var deleteVendor = await _repository.DeleteVendorByIdAsync(getVendorForDelete);

            if (getVendorForDelete != null)
            {
                deleted = true;
            }

            var vendorDeleteDTO = new VendorUpdateDTO
            {
                Id    = getVendorForDelete.Id,
                Name  = getVendorForDelete.Name,
                Title = getVendorForDelete.Title,
                Date  = getVendorForDelete.Date
            };
            string json = JsonConvert.SerializeObject(vendorDeleteDTO);

            var history = new History()
            {
                VendorId   = vendorDeleteDTO.Id,
                Operation  = "Delete",
                JsonResult = json,
            };

            await _historyRepository.InsertHistoryAsync(history);

            scope.Complete();

            return(deleted);
        }