示例#1
0
        public IResult ValidateComponent(DrawFileComponentType type)
        {
            //????
            string name     = @"Game\";
            string tempPath = Path.GetTempPath();
            string path     = tempPath + name;
            //????

            IResult result = new Result()
            {
                Success = true, Message = ""
            };
            GameStageConfigSection entity          = ConfigurationHolder.ApiConfiguration;
            ValidataArchive        validataArchive = new ValidataArchive(entity);

            switch (type)
            {
            case DrawFileComponentType.Stage:
                IResult resultStage = validataArchive.Stage(path);
                result.Message = resultStage.Message;
                break;

            case DrawFileComponentType.SubStage:
                IResult resultSubFiles =
                    validataArchive.SubStageFile(path);
                result.Message = resultSubFiles.Message;

                break;

            case DrawFileComponentType.Team:
                IResult resultSubItemFiles =
                    validataArchive.QuestionFile(path);
                result.Message = resultSubItemFiles.Message;
                break;

            case DrawFileComponentType.Topic:
                IResult resultQuestionFiles =
                    validataArchive.QuestionTopicFile(path);
                result.Message = resultQuestionFiles.Message;
                break;
            }

            return(result);
        }
示例#2
0
 public ValidataArchive(GameStageConfigSection configSection)
 {
     this.configSection = configSection;
 }
示例#3
0
 public BuildGame(GameStageConfigSection configSection)
 {
     this.configSection = configSection;
 }
示例#4
0
        public IResult Loader(string pathArchiv)
        {
            IResult result = new Result()
            {
                Success = true
            };
            SaveTempFile           save          = new SaveTempFile();
            GameStageConfigSection configSection = ConfigurationHolder.ApiConfiguration;
            ValidataArchive        validate      = new ValidataArchive(configSection);


            //name Game
            string name     = @"Game\";
            string pathTemp = Path.GetTempPath();
            string path     = pathTemp + name;

            result.Success = save.CreateDirectory(name).Success;

            if (!result.Success)
            {
                result.Message = "Щось пішло не так";
                return(result);
            }

            List <IResult> results = validate.ValidateDirectory(path);

            IResult resultDirectory = new Result()
            {
                Success = true
            };

            foreach (var res in results)
            {
                if (!res.Success)
                {
                    resultDirectory.Success  = false;
                    resultDirectory.Message += res.Message;
                }
            }

            if (!resultDirectory.Success)
            {
                return(resultDirectory);
            }

            results = validate.ValidateFiles(path);
            IResult resultFiles = new Result()
            {
                Success = true
            };

            foreach (var res in results)
            {
                if (!res.Success)
                {
                    resultFiles.Success  = false;
                    resultFiles.Message += res.Message;
                }
            }

            if (!resultFiles.Success)
            {
                return(resultFiles);
            }

            BuildGame buildGame = new BuildGame(configSection);

            buildGame.Build(path);

            return(result);
        }