Exemplo n.º 1
0
        public async Task <IActionResult> DeleteConfirm(Guid id)
        {
            var file = _fileData.Get(id);

            if (file != null)
            {
                var companyId = GetNonAdminUserCompanyId();
                if (!companyId.IsNullOrWhiteSpace() && !file.ContainerName.Equals(companyId, StringComparison.OrdinalIgnoreCase) ||
                    file.ReadOnly)
                {
                    return(RedirectToAction(nameof(AccountController.AccessDenied), nameof(AccountController).GetControllerName(),
                                            new { returnUrl = Request.Path }));
                }

                if (!string.IsNullOrWhiteSpace(file.ContainerName) && !string.IsNullOrWhiteSpace(file.FileName))
                {
                    try
                    {
                        await _blobService.DeleteBlob(file.ContainerName, file.FileName);
                    }
                    catch (ArgumentException)
                    {
                        // no container, fine because it's probably seed data
                    }
                }

                _fileData.Delete(file);
                _fileData.Commit();
                SendFileNotification(FileOperations.Deleted, file.FileName,
                                     User.Claims.FirstOrDefault(_ => _.Type.Equals(AuthConstants.CompanyClaim)).Value);
            }

            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IHttpActionResult> DeleteStationImage(DeleteStationImageModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                bool validated             = false;
                HttpRequestMessage request = ControllerContext.Request; // this seems to be same as request

                ValidateCredentials VC = new ValidateCredentials();
                validated = VC.checkCreds(request);
                if (!validated)
                {
                    return(Unauthorized());
                }

                if (model.ID <= 0)
                {
                    return(BadRequest());
                }

                // Call service to perform delete, then check result to return as content
                var deleteStationImageModel = await _service.DeleteBlob(model);

                if (deleteStationImageModel != null)
                {
                    if (deleteStationImageModel.Deleted)
                    {
                        return(Ok(deleteStationImageModel));
                    }
                    else
                    {
                        return(BadRequest(deleteStationImageModel.ErrorMessage));
                    }
                }

                // Otherwise
                return(BadRequest());
            }
            catch (Exception ex)
            {
                HandleErrors(ex, "StationImageController_DeleteStationImage", "", "");
                return(InternalServerError(ex));
            }
        }
Exemplo n.º 3
0
 public IActionResult DeleteBlob(int id)
 {
     try
     {
         if (id < 0)
         {
             return(BadRequest(new { error = "The input was not valid." }));
         }
         bool _isDeleted = _blobService.DeleteBlob(id);
         if (_isDeleted)
         {
             return(Ok());
         }
         else
         {
             return(NotFound());
         }
     }
     catch (Exception ex)
     {
         return(BadRequest(new { error = ex.ToString() }));
     }
 }
Exemplo n.º 4
0
 public async Task <FileDeleteModel> DeleteImage(string fileName)
 {
     return(await blobService.DeleteBlob(fileName));
 }
Exemplo n.º 5
0
 public async Task DeleteBlob(Guid blobId)
 {
     await _blobService.DeleteBlob(blobId);
 }