/// <summary> /// Deletes the mission. /// </summary> /// <param name="id"> /// The identifier. /// </param> /// <returns> /// Task{OperationResult}. /// </returns> public async Task <OperationResult> DeleteMission(string id) { var entities = await _azureManager.GetEntitiesForCompleteDelete <MissionAzure>(id); var missionAzure = entities.FirstOrDefault(m => m.IsMissionEntity); string missionSetId = null; if (missionAzure != null) { missionSetId = missionAzure.MissionSetId; await _imagesProvider.DeleteImage(missionAzure.PhotoUrl); } if (!entities.Any()) { return(new OperationResult(OperationResultStatus.Warning, "No entities to delete")); } var result = await _azureManager.DeleteEntitiesBatchAsync(entities); var refreshResult = await TryRefreshMissionSet(missionSetId); if (refreshResult.Status != OperationResultStatus.Success) { Trace.TraceError(refreshResult.Description); } return(result); }
/// <summary> /// Deletes the mission draft. /// </summary> /// <param name="id">The identifier.</param> /// <returns>Task{OperationResult}.</returns> public async Task <OperationResult> DeleteMissionDraft(string id) { var entities = await _azureManager.GetEntitiesForCompleteDelete <MissionDraftAzure>(id); var draftAzure = entities.FirstOrDefault(m => !m.IsPersonQualityLink); if (draftAzure != null) { await _imagesProvider.DeleteImage(draftAzure.PhotoUrl); } if (entities.Any()) { var result = await _azureManager.DeleteEntitiesBatchAsync(entities); return(result); } return(new OperationResult(OperationResultStatus.Warning, "No entities to delete")); }