Пример #1
0
        /// <summary>
        ///     Converts Mission to MissionAzure.
        /// </summary>
        /// <param name="mission">The mission draft.</param>
        /// <returns>MissionDraftAzure.</returns>
        public static MissionAzure ToAzureModel(this Mission mission)
        {
            var azureModel = new MissionAzure();

            mission.CopyTo(azureModel);
            SetMissionDependentPropertiesToAzureModel(mission, azureModel);
            return(azureModel);
        }
Пример #2
0
        private async Task <OperationResult> TryRefreshMissionSet(MissionAzure missionAzure)
        {
            if (missionAzure != null)
            {
                return(await TryRefreshMissionSet(missionAzure.MissionSetId));
            }

            return(new OperationResult(OperationResultStatus.Success));
        }
Пример #3
0
        private List <MissionAzure> GenerateHintLinks(Mission mission)
        {
            if (mission.Hints == null)
            {
                return(new List <MissionAzure>());
            }

            return
                (mission.Hints.Select(t => MissionAzure.CreateLinkToHint(mission.Id, t)).ToList());
        }
Пример #4
0
        /// <summary>
        ///     Converts MissionAzure to Mission..
        /// </summary>
        /// <param name="azureModel">The azure model.</param>
        /// <returns>Mission.</returns>
        public static Mission FromAzureModel(this MissionAzure azureModel)
        {
            if (azureModel == null)
            {
                return(null);
            }

            var domainModel = new Mission();

            azureModel.CopyTo(domainModel);
            SetMissionDependentPropertiesFromAzuremodel(domainModel, azureModel);
            return(domainModel);
        }
Пример #5
0
        private List <MissionAzure> GeneratePersonQualityLinks(Mission mission)
        {
            if (mission.PersonQualities == null)
            {
                return(new List <MissionAzure>());
            }

            return
                (mission.PersonQualities.Where(
                     t =>
                     !string.IsNullOrEmpty(t.PersonQualityId))
                 .GroupBy(p => p.PersonQualityId)
                 .Select(
                     t =>
                     MissionAzure.CreateLinkToPersonQuality(
                         mission.Id,
                         t.First().PersonQualityId,
                         t.First().Score))
                 .ToList());
        }
Пример #6
0
 private static void SetMissionDependentPropertiesToAzureModel(Mission mission, MissionAzure azureModel)
 {
     azureModel.AgeFrom        = mission.AgeFrom;
     azureModel.AgeTo          = mission.AgeTo;
     azureModel.Difficulty     = mission.Difficulty;
     azureModel.ExecutionType  = (int)mission.ExecutionType;
     azureModel.DependsOn      = mission.DependsOn.JoinToString();
     azureModel.AnswersCount   = mission.AnswersCount;
     azureModel.TriesFor1Star  = mission.TriesFor1Star;
     azureModel.TriesFor2Stars = mission.TriesFor2Stars;
     azureModel.TriesFor3Stars = mission.TriesFor3Stars;
     azureModel.NumberOfPhotos = mission.NumberOfPhotos;
     azureModel.CalculationFunctionParameters = mission.CalculationFunctionParameters.JoinToString();
     azureModel.CorrectAnswersString          = mission.CorrectAnswers;
 }
Пример #7
0
 private static void SetMissionDependentPropertiesFromAzuremodel(Mission domainModel, MissionAzure azureModel)
 {
     domainModel.AgeFrom        = (byte?)azureModel.AgeFrom;
     domainModel.AgeTo          = (byte?)azureModel.AgeTo;
     domainModel.Difficulty     = (byte)azureModel.Difficulty;
     domainModel.ExecutionType  = (ExecutionType)azureModel.ExecutionType;
     domainModel.DependsOn      = azureModel.DependsOn.SplitStringByDelimiter();
     domainModel.AnswersCount   = (byte?)azureModel.AnswersCount;
     domainModel.TriesFor1Star  = (byte?)azureModel.TriesFor1Star;
     domainModel.TriesFor2Stars = (byte?)azureModel.TriesFor2Stars;
     domainModel.TriesFor3Stars = (byte?)azureModel.TriesFor3Stars;
     domainModel.NumberOfPhotos = (byte?)azureModel.NumberOfPhotos;
     domainModel.CalculationFunctionParameters =
         azureModel.CalculationFunctionParameters.SplitStringByDelimiter();
     domainModel.CorrectAnswers = azureModel.CorrectAnswersString;
 }