Пример #1
0
        public async Task RemoveAsync(FileToTransaction fileToTransaction)
        {
            if (fileToTransaction != null)
            {
                await this.fileHelper.TaskRemoveFileAsync(fileToTransaction.File.ExternalId);

                fileToTransaction.Delete();
                fileToTransaction.File.Delete();
                await this.Context.SaveChangesAsync();
            }
        }
        private async Task DealWithTransactionToFilesAsync(int transactionId, List <FileToTransactionSyncDTO> filesToSync)
        {
            if (filesToSync == null || !filesToSync.Any())
            {
                return;
            }

            var currentFiles2Transactions = await this.fileRepository.GetFileToTransactionsAsync(transactionId);

            foreach (var f2t in filesToSync)
            {
                var entity = currentFiles2Transactions.Where(x => x.ExternalId == f2t.ExternalId.ToString()).FirstOrDefault();
                if (entity != null)
                {
                    if (f2t.IsDeleted)
                    {
                        entity.Delete(f2t.IsDeleted);
                    }
                    entity.SetModifiedOn(f2t.ModifiedOn);
                    await this.fileRepository.UpdateAsync(entity);
                }
                else
                {
                    var file = await this.fileRepository.GetAsync(f2t.FileId.ToString());

                    if (file != null)
                    {
                        entity = new FileToTransaction
                        {
                            TransactionId = transactionId,
                            ExternalId    = f2t.ExternalId.ToString(),
                            ModifiedOn    = f2t.ModifiedOn,
                            IsDeleted     = f2t.IsDeleted,
                            FileId        = file.Id,
                        };
                        await this.fileRepository.AddAsync(entity);
                    }
                }
            }
        }
        private async Task DealWithTransactionToFilesAsync(int transactionId, List <FileToTransactionSyncDTO> filesToSync)
        {
            if (filesToSync == null || !filesToSync.Any())
            {
                return;
            }

            var f2tIds = filesToSync.Select(x => x.Id).ToList();
            var currentFiles2Transactions = await this.Context.FilesToTransactions.Where(x => x.TransactionId == transactionId).ToListAsync();

            foreach (var f2t in filesToSync)
            {
                var entity = currentFiles2Transactions.Where(x => x.Id == f2t.ExternalId).FirstOrDefault();
                if (entity != null)
                {
                    if (f2t.IsDeleted)
                    {
                        entity.Delete(f2t.IsDeleted);
                    }
                    entity.SetModifiedOn(f2t.ModifiedOn);
                    this.Context.FilesToTransactions.Update(entity);
                }
                else
                {
                    entity = new FileToTransaction
                    {
                        TransactionId = transactionId,
                        ExternalId    = f2t.ExternalId,
                        Id            = f2t.ExternalId,
                        ModifiedOn    = f2t.ModifiedOn,
                        IsDeleted     = f2t.IsDeleted,
                        FileId        = f2t.FileId,
                    };
                    this.Context.FilesToTransactions.Add(entity);
                }
            }

            this.Context.SaveChanges();
        }
Пример #4
0
 public async Task UpdateAsync(FileToTransaction fileToTransaction)
 {
     this.Context.FilesToTransactions.Update(fileToTransaction);
     await this.Context.SaveChangesAsync();
 }
Пример #5
0
        public async Task AddAsync(FileToTransaction fileToTransaction)
        {
            await this.Context.FilesToTransactions.AddAsync(fileToTransaction);

            await this.Context.SaveChangesAsync();
        }