Esempio n. 1
0
        /// <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"));
        }