Beispiel #1
0
        public async Task <IActionResult> Delete([FromRoute] string id)
        {
            var request = new DeleteNetworkRequest(id);
            await _mediator.Send(request);

            return(NoContent());
        }
Beispiel #2
0
        public DeleteNetworkResponse DeleteNetwork(DeleteNetworkRequest request)
        {
            var response = new DeleteNetworkResponse();
            System.Threading.Thread.CurrentPrincipal = request.User.GetUserPrincipal();

            #region Validation

            if (!PermitOnlyI())
            {
                response.Message = Constants.Messages.NO_PERMISSIONS;
                return response;
            }

            // There must be no active Contracts for this network
            IList<Plan> plans = _planRepository.GetPlansByNetworkId(request.NetworkId);
            foreach (Plan plan in plans)
            {
                IList<Contract> contracts = _contractRepository.FindByPlanId(plan.Id.Value);
                if (contracts.Count(c => c.ContractStatus != ContractStatus.Closed) > 0)
                {
                    response.Message = "Cannot delete networks with active contracts.";
                    LoggingUtility.LogDebug("DeleteNetwork", "NetworkService", response.Message);
                    return response;
                }
            }

            #endregion

            try {
                using (var ts = new TransactionScope()) {
                    if (_networkRepository.DeleteNetwork(request.NetworkId)) {
                        response.IsSuccessful = true;

                    }
                    else {
                        LoggingUtility.LogDebug("DeleteNetwork", "NetworkService", "Could not delete network '" + request.NetworkId + "'");
                        response.Message = Constants.Messages.INTERNAL_ERROR;
                    }
                    ts.Complete();
                }

            } catch (Exception ex)
            {
                LoggingUtility.LogException(ex);
                response.Message = Constants.Messages.INTERNAL_ERROR;
            }

            return response;
        }
Beispiel #3
0
 /// <summary>Snippet for Delete</summary>
 public void DeleteRequestObject()
 {
     // Snippet: Delete(DeleteNetworkRequest, CallSettings)
     // Create client
     NetworksClient networksClient = NetworksClient.Create();
     // Initialize request argument(s)
     DeleteNetworkRequest request = new DeleteNetworkRequest
     {
         RequestId = "",
         Project   = "",
         Network   = "",
     };
     // Make the request
     Operation response = networksClient.Delete(request);
     // End snippet
 }
Beispiel #4
0
        /// <summary>Snippet for DeleteAsync</summary>
        public async Task DeleteRequestObjectAsync()
        {
            // Snippet: DeleteAsync(DeleteNetworkRequest, CallSettings)
            // Additional: DeleteAsync(DeleteNetworkRequest, CancellationToken)
            // Create client
            NetworksClient networksClient = await NetworksClient.CreateAsync();

            // Initialize request argument(s)
            DeleteNetworkRequest request = new DeleteNetworkRequest
            {
                RequestId = "",
                Project   = "",
                Network   = "",
            };
            // Make the request
            Operation response = await networksClient.DeleteAsync(request);

            // End snippet
        }