예제 #1
0
파일: CodeParser.cs 프로젝트: minskowl/MY
        /// <summary>
        /// Initializes a new instance of the <see cref="CodeParser"/> class.
        /// </summary>
        /// <param name="language">The language.</param>
        public CodeParser(ProgramLanguage language)
        {
            string fileName = Path.GetTempFileName();

            switch (language)
            {
            case ProgramLanguage.TSQL:
                File.WriteAllBytes(fileName, Resource.TSQL);
                break;

            case ProgramLanguage.CSharp1:
                File.WriteAllBytes(fileName, Resource.CS);
                break;

            case ProgramLanguage.VBNet1:
                File.WriteAllBytes(fileName, Resource.VBNET);
                break;

            default:
                throw new ArgumentOutOfRangeException("language");
            }


            _p.SetGrammar(fileName);
        }
        public async Task <List <LanguageSearchDto> > GetSearchsByProgramLanguages(string[] programLanaguages)
        {
            try
            {
                List <LanguageSearchDto> languageSearchDtos = new List <LanguageSearchDto>();
                foreach (string programLanguageName in programLanaguages)
                {
                    ProgramLanguage programLanguage = await context.ProgramLanguage.FirstOrDefaultAsync(x => x.DisplayName.ToUpper().Equals(programLanguageName.ToUpper()) && x.IsActive == true);

                    if (programLanguage != null)
                    {
                        List <LanguageSearch> languageSearchs = await context.LanguageSearch.Where(x => x.ProgramLanguageId == programLanguage.ProgramLanguageId && x.IsActive == true).OrderByDescending(x => x.CreatedDate).ToListAsync();

                        if (languageSearchs.Count > 0)
                        {
                            foreach (LanguageSearch languageSearch in languageSearchs)
                            {
                                if (languageSearch.Engine == null)
                                {
                                    languageSearch.Engine = await context.Engine.FirstOrDefaultAsync(x => x.EngineId == languageSearch.EngineId);
                                }
                                LanguageSearchDto languageSearchDto = iMapper.Map <LanguageSearchDto>(languageSearch);
                                languageSearchDto.LanguageSearchName = programLanguage.DisplayName;
                                languageSearchDto.EngineName         = languageSearch.Engine.DisplayName;
                                languageSearchDtos.Add(languageSearchDto);
                            }
                        }
                    }
                }
                return(languageSearchDtos);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }