public void DeleteCommand(IExplorerTreeItem parent, IExplorerRepository explorerRepository, ExplorerItemViewModel explorerItemViewModel, IPopupController popupController, IServer server)
 {
     try
     {
         if (explorerItemViewModel.IsResourceVersion)
         {
             DeleteVersionCommand(explorerRepository, explorerItemViewModel, parent, explorerItemViewModel.ResourceName);
         }
         else
         {
             var messageBoxResult = popupController.Show(popupController.GetDeleteConfirmation(explorerItemViewModel.ResourceName));
             if (server != null && messageBoxResult == MessageBoxResult.Yes)
             {
                 _shellViewModel.CloseResource(explorerItemViewModel.ResourceId, server.EnvironmentID);
                 var deletedFileMetadata = explorerRepository.Delete(explorerItemViewModel);
                 if (deletedFileMetadata.IsDeleted)
                 {
                     if (explorerItemViewModel.ResourceType == @"ServerSource" || explorerItemViewModel.IsServer)
                     {
                         server.UpdateRepository.FireServerSaved(explorerItemViewModel.ResourceId, true);
                     }
                     parent?.RemoveChild(explorerItemViewModel);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         explorerItemViewModel.ShowErrorMessage(ex.Message, @"Delete not allowed");
     }
 }
Esempio n. 2
0
        public async Task <IActionResult> DeleteLocation(int locationId)
        {
            try
            {
                var location = await _repo.GetLocationById(locationId);

                if (location == null)
                {
                    return(NotFound("Localizacao nao encontrada"));
                }

                _repo.Delete(location);

                if (!await _repo.SaveChangesAsync())
                {
                    throw new System.Exception();
                }

                return(Ok("Localizacao deletada"));
            }
            catch (System.Exception ex)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, "Erro ao deletar localizacao"));
            }
        }
        public void DeleteVersionCommand(IExplorerRepository explorerRepository, ExplorerItemViewModel explorerItemViewModel, IExplorerTreeItem parent, string resourceName)
        {
            if (_popupController.ShowDeleteVersionMessage(resourceName) == MessageBoxResult.Yes)
            {
                explorerRepository.Delete(explorerItemViewModel);
                var parentChildren = new ObservableCollection <IExplorerItemViewModel>(parent.Children);

                var index = 0;
                for (var i = 0; i < parentChildren.Count; i++)
                {
                    if (parentChildren[i].ResourceName == resourceName)
                    {
                        index = i;
                        break;
                    }
                }

                parentChildren.RemoveAt(index);
                parent.Children = new ObservableCollection <IExplorerItemViewModel>(parentChildren);
            }
        }