public virtual ActionResult DeleteDisaggregation(int resultsMatrixId, int impactDisaggregationId) { // Define Ajax response int code = 0; try { // Retrieve ImpactIndicator ImpactDisaggregationModel indicatorModel = ClientResultsMatrix.FindOneImpactDisaggregationModel(new ImpactDisaggregationSpecification() { ImpactDisaggregationId = impactDisaggregationId }); if (indicatorModel != null /*&& elementTypeModel != null && matrixChangeTypeModel != null*/) { bool deleted = ClientResultsMatrix.DeleteDisaggregation(indicatorModel); ImpactDisaggregationModel deletedModel = ClientResultsMatrix.FindOneImpactDisaggregationModel(new ImpactDisaggregationSpecification() { ImpactDisaggregationId = impactDisaggregationId }); if (deleted == true && deletedModel == null) { code = 504; } else { code = 496; } } else { code = 496; } } catch (Exception) { code = 496; } var resultsMatrix = ClientResultsMatrix.FindOneModel(new IDB.MW.Domain.Contracts.Specifications.ResultsMatrixSpecification() { ResultsMatrixId = resultsMatrixId }); return(RedirectToAction("Edit", "Impacts", new { operationId = resultsMatrix.OperationId, resultsMatrixId = resultsMatrixId, code = code })); }