예제 #1
0
        public async Task <bool> DeleteAsync(string blobName)
        {
            try
            {
                await _iAzureBlobStorage.DeleteAsync(blobName);

                return(true);
            }
            catch (Exception ex)
            {
                _logger.Log(LogLevel.Error, ex.Message);
                throw;
            }
        }
예제 #2
0
        public async Task <IActionResult> Delete(string blobName)
        {
            if (string.IsNullOrEmpty(blobName))
            {
                return(Content("Blob Name not present"));
            }

            await blobStorage.DeleteAsync(blobName);

            return(RedirectToAction("Index"));
        }
예제 #3
0
        public async Task Delete_container()
        {
            string containerName = Guid.NewGuid().ToString();
            await _native.WriteTextAsync($"{containerName}/test.txt", "test");

            IReadOnlyCollection <Blob> containers = await _native.ListAsync();

            Assert.Contains(containers, c => c.Name == containerName);

            await _native.DeleteAsync(containerName);

            containers = await _native.ListAsync();

            Assert.DoesNotContain(containers, c => c.Name == containerName);
        }
예제 #4
0
        public async Task <IActionResult> OnGetDeleteBlobAsync(string blobName)
        {
            await BlobStorage.DeleteAsync(containerName, blobName);

            return(RedirectToPage(routeName));
        }
예제 #5
0
        public async Task GivenTheName_OfAPrevious_Blob_Wiping_It_Then_Should_Not_Exist_Anymore()
        {
            await _sut.DeleteAsync("nameTest");

            Assert.AreEqual(await _sut.ExistBlob("nameTest"), false);
        }
예제 #6
0
        public async Task <IActionResult> CreateForm([FromBody] FormModel formModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new ApiResponse {
                    Status = false, ModelState = ModelState
                }));
            }

            var options = new DbContextOptionsBuilder <ContentDbContext>()
                          .UseSqlServer(new SqlConnection(_configuration.GetConnectionString("ContentDbConnection")))
                          .Options;

            using (var context = new ContentDbContext(options))
            {
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        var generate            = new GenerateCandidate();
                        var candidateIncomplete = new Candidate
                        {
                            Email     = formModel.Email,
                            Approved  = formModel.Approved,
                            Completed = formModel.Completed
                        };

                        var candidate       = generate.Generate(formModel.BlobObject, candidateIncomplete);
                        var actualCandidate =
                            await context.Candidates.SingleOrDefaultAsync(x => x.Email.Equals(formModel.Email));

                        if (actualCandidate != null)
                        {
                            context.Candidates.Remove(actualCandidate);
                        }
                        await context.SaveChangesAsync();

                        context.Candidates.Add(candidate);
                        await context.SaveChangesAsync();

                        //Now Delete existing blob
                        if (await _storage.ExistBlob(formModel.Email))
                        {
                            await _storage.DeleteAsync(formModel.Email);
                        }

                        using (var memoryStream = new MemoryStream())
                        {
                            using (var s = Convertors.GenerateStreamFromString(formModel.BlobObject))
                            {
                                await s.CopyToAsync(memoryStream);

                                await _storage.UploadAsync(formModel.Email, memoryStream);
                            }
                        }
                        transaction.Commit();
                        return(CreatedAtRoute("GetFormsRoute", new { email = formModel.Email },
                                              new ApiResponse {
                            Status = true
                        }));
                    }
                    catch (Exception exp)
                    {
                        _logger.LogError(exp.Message);
                        return(BadRequest(new ApiResponse {
                            Status = false
                        }));
                    }
                }
            }
        }