public async Task <string> SaveAsync(FileModel file, Guid campaignContentId)
        {
            var shouldBeSaved = ImageContentTypes.Contains(file.Type);

            if (shouldBeSaved)
            {
                var info = await _fileInfoRepository.GetAsync(campaignContentId.ToString());

                file.Name = GenerateRuleContentImageFileName(file.Type);

                if (info != null)
                {
                    await _fileRepository.DeleteAsync(info.Name);

                    await _fileInfoRepository.DeleteAsync(campaignContentId.ToString());
                }

                await _fileInfoRepository.InsertAsync(file, campaignContentId);

                await _fileRepository.InsertAsync(file.Content, file.Name);
            }
            else
            {
                _log.Warning($"{file.Type} is not supported file type");

                return(null);
            }

            return(await _fileRepository.GetBlobUrl(file.Name));
        }
Ejemplo n.º 2
0
        public async Task DeleteAsync(string merchantId, string invoiceId)
        {
            IInvoice entity = await _invoiceRepository.GetAsync(merchantId, invoiceId);

            if (entity == null)
            {
                return;
            }

            var invoice = Mapper.Map <Invoice>(entity);

            var invoiceStatus = invoice.Status.ParsePayEnum <InvoiceStatus>();

            if (invoiceStatus == InvoiceStatus.Draft)
            {
                await _invoiceRepository.DeleteAsync(merchantId, invoiceId);

                IEnumerable <IFileInfo> fileInfos = await _fileInfoRepository.GetAsync(invoiceId);

                foreach (IFileInfo fileInfo in fileInfos)
                {
                    await _fileInfoRepository.DeleteAsync(invoiceId, fileInfo.FileId);

                    await _fileRepository.DeleteAsync(fileInfo.FileId);
                }

                await _log.WriteInfoAsync(nameof(InvoiceService), nameof(DeleteAsync),
                                          invoice.ToContext().ToJson(),
                                          $"Delete invoce {invoice.InvoiceId}, for merchant {invoice.MerchantId} with status {invoice.Status}");
            }
            else if (invoiceStatus == InvoiceStatus.Unpaid)
            {
                invoice.Status = InvoiceStatus.Removed.ToString();
                await _invoiceRepository.UpdateAsync(invoice);

                await _log.WriteInfoAsync(nameof(InvoiceService), nameof(DeleteAsync),
                                          invoice.ToContext().ToJson(),
                                          $"Delete invoce {invoice.InvoiceId}, for merchant {invoice.MerchantId} with status {InvoiceStatus.Unpaid}");
            }
            else
            {
                await _log.WriteInfoAsync(nameof(InvoiceService), nameof(DeleteAsync), invoice.ToContext().ToJson(),
                                          $"CANNOT delete invoce {invoice.InvoiceId}, for merchant {invoice.MerchantId} in current status");
            }
        }
Ejemplo n.º 3
0
        public async Task DeleteAsync(string invoiceId, string fileId)
        {
            await _fileInfoRepository.DeleteAsync(invoiceId, fileId);

            await _fileRepository.DeleteAsync(fileId);
        }
Ejemplo n.º 4
0
        public async Task DeleteAsync(string merchantId, string fileId)
        {
            await _fileRepository.DeleteAsync(fileId);

            await _fileInfoRepository.DeleteAsync(merchantId, fileId);
        }