Пример #1
0
        public void GetCommand()
        {
            var input = VInput.GetArgs();

            if (input.Length == 0)
            {
                return;                    //Don't process 0 args
            }
            var commandName = input[0];
            var args        = ArraysUtility.SubArray(input, 1);
            //FIND ALIASES
            var command = CurrentCommands.FirstOrDefault(command => command.Aliases.Any(alias => alias == commandName.ToLower()));

            if (command != null)
            {
                Attempt(command, args);
                return;
            }
            //FIND NAME
            var commandList = StringsUtility.Match(commandName, CurrentCommands);

            if (commandList.Count == 0)
            {
                new GameError($"No commands starting with \"{commandName}\" found!").Write();
            }
            else if (commandList.Count > 1)
            {
                VConsole.WriteLine($"Commands starting with \"{commandName}\":");
                new TextList <Command>(commandList).Write();
            }
            else
            {
                Attempt(commandList[0], args);
            }
        }
Пример #2
0
 public void TryRetrieveInfoFromString()
 {
     Assert.True(StringsUtility.TryRetrieveInfoFromString("Skyrim_French.ILSTRINGS", out var source, out var language, out var modName));
     Assert.Equal(StringsSource.IL, source);
     Assert.Equal(Language.French, language);
     Assert.Equal("Skyrim", modName.ToString());
 }
        public List <ListArticleViewModel> GetCategoryArticles(int category_id, int page, int page_size, int image_width, int image_height, int description_length = 40)
        {
            List <ListArticleViewModel> result = new List <ListArticleViewModel>();

            IQueryable <ArticleCategory> category_articles = DAManager.ArticleCategoriesRepository.Get(ac => ac.CategoryId == category_id && ac.Article.IsPublished == true && DbFunctions.CreateDateTime(ac.Article.PublishDate.Year, ac.Article.PublishDate.Month, ac.Article.PublishDate.Day, ac.Article.PublishDate.Hour, ac.Article.PublishDate.Minute, ac.Article.PublishDate.Second) <= DateTime.Now, a => a.OrderByDescending(ar => ar.Article.PublishDate), "Article.ArticleImages.Image,Article.Likes,Article.Comments").Skip(page * page_size).Take(page_size);

            foreach (ArticleCategory AC in category_articles.ToList())
            {
                ListArticleViewModel article = new ListArticleViewModel()
                {
                    CommentsCount = AC.Article.Comments.Count(), LikesCount = AC.Article.Likes.Count(), Title = AC.Article.Title, URL = AC.Article.URL
                };
                article.Description = StringsUtility.StripHTML(AC.Article.Description);
                if (article.Description.Length > description_length)
                {
                    article.Description = article.Description.Substring(0, description_length);
                }
                if (AC.Article.ArticleImages.Count() > 0)
                {
                    article.ImageURL = ImageService.GenerateImageFullPath(AC.Article.ArticleImages.First().Image.URL, image_width.ToString(), image_height.ToString());
                }

                result.Add(article);
            }

            return(result);
        }
        public List <ListArticleViewModel> GetSearchResult(string search_key, int page, int page_size, int image_width, int image_height, int description_length = 40)
        {
            //clear search query
            search_key = ClearSearchQuery(search_key);

            List <ListArticleViewModel> result = new List <ListArticleViewModel>();

            //IQueryable<Article> category_articles = DAManager.ArticlesRepository.Get(a => a.IsPublished == true && EntityFunctions.CreateDateTime(a.PublishDate.Year, a.PublishDate.Month, a.PublishDate.Day, a.PublishDate.Hour, a.PublishDate.Minute, a.PublishDate.Second) <= DateTime.Now && (a.Title.Contains(search_key)), a => a.OrderByDescending(ar => ar.PublishDate), "ArticleImages.Image,Likes,Comments").Skip((page-1) * page_size).Take(page_size);

            List <SearchArticles_Result> category_articles = DAManager.ArticlesRepository.SearchArticles(search_key, page, page_size);

            foreach (SearchArticles_Result AC in category_articles)
            {
                ListArticleViewModel article = new ListArticleViewModel()
                {
                    Title = AC.Title, URL = AC.URL
                };
                article.Description = StringsUtility.StripHTML(AC.Description);
                if (article.Description.Length > description_length)
                {
                    article.Description = article.Description.Substring(0, description_length);
                }
                if (AC.ImageURL != "")
                {
                    article.ImageURL = ImageService.GenerateImageFullPath(AC.ImageURL, image_width.ToString(), image_height.ToString());
                }

                result.Add(article);
            }

            return(result);
        }
Пример #5
0
        public bool Subscribe(int?user_id, string email, int campagin_id)
        {
            if (!StringsUtility.IsValidEmail(email))
            {
                return(false);
            }

            Subscription old = DAManager.SubscriptionsRepository.Get(s => s.Email == email && s.CampaignId == campagin_id).FirstOrDefault();

            if (old != null)
            {
                old.Active = true;
            }
            else
            {
                Subscription new_subscription = new Subscription()
                {
                    Active = true, CampaignId = campagin_id, UserId = user_id == -1?null:user_id, Email = email
                };
                new_subscription.UnsubscripeToken = RandomString();
                DAManager.SubscriptionsRepository.Insert(new_subscription);
            }
            try
            {
                DAManager.Save();
            }
            catch (Exception ex)
            {
                logService.WriteError(ex.Message, ex.Message, ex.StackTrace, ex.Source);
                return(false);
            }
            return(true);
        }
Пример #6
0
 public JsonResult _IsValidPassword(string password)
 {
     if (StringsUtility.IsValidPassword(password))
     {
         return(Json(new { isvalid = true }));
     }
     else
     {
         return(Json(new { isvalid = false }));
     }
 }
        public CategoryViewModel GetArticlesTag(string tag, int page, int page_size, int image_width, int image_height, int description_length = 40)
        {
            tag = tag.Replace("-", "_");
            Tag db_tag = DAManager.TagsRepository.Get(t => t.TagName == tag).FirstOrDefault();

            if (db_tag == null)
            {
                return(null);
            }

            CategoryViewModel result_viewmodel = new CategoryViewModel()
            {
                Name = db_tag.FrontTitle, MetaDescription = db_tag.MetaDescription, MetaTitle = db_tag.MetaTitle
            };
            List <ListArticleViewModel> result = new List <ListArticleViewModel>();

            IQueryable <ArticleTag> tag_articles = DAManager.ArticleTagsRepository.Get(at => at.Tag == tag && at.Article.IsPublished == true && DbFunctions.CreateDateTime(at.Article.PublishDate.Year, at.Article.PublishDate.Month, at.Article.PublishDate.Day, at.Article.PublishDate.Hour, at.Article.PublishDate.Minute, at.Article.PublishDate.Second) <= DateTime.Now, a => a.OrderByDescending(ar => ar.Article.PublishDate), "Article.ArticleImages.Image,Article.Likes,Article.Comments").Skip((page - 1) * page_size).Take(page_size);

            foreach (ArticleTag AC in tag_articles.ToList())
            {
                ListArticleViewModel article = new ListArticleViewModel()
                {
                    CommentsCount = AC.Article.Comments.Count(), LikesCount = AC.Article.Likes.Count(), Title = AC.Article.Title, URL = AC.Article.URL
                };
                article.Description = StringsUtility.StripHTML(AC.Article.Description);
                if (article.Description.Length > description_length)
                {
                    article.Description = article.Description.Substring(0, description_length);
                }
                if (AC.Article.ArticleImages.Count() > 0)
                {
                    article.ImageURL = ImageService.GenerateImageFullPath(AC.Article.ArticleImages.First().Image.URL, image_width.ToString(), image_height.ToString());
                }

                result.Add(article);
            }



            result_viewmodel.Articles = result;

            int total_articles = DAManager.ArticleTagsRepository.Get(at => at.Tag == tag && at.Article.IsPublished == true && DbFunctions.CreateDateTime(at.Article.PublishDate.Year, at.Article.PublishDate.Month, at.Article.PublishDate.Day, at.Article.PublishDate.Hour, at.Article.PublishDate.Minute, at.Article.PublishDate.Second) <= DateTime.Now).Count();

            //Set pagination properties
            result_viewmodel.PageNumber = page;
            result_viewmodel.PageSize   = page_size;
            result_viewmodel.TotalItems = total_articles;

            return(result_viewmodel);
        }
Пример #8
0
 public void TryRetrieveInfoFromString_Full_Fail()
 {
     Assert.False(StringsUtility.TryRetrieveInfoFromString(
                      StringsLanguageFormat.FullName,
                      "Skyrim_FrenchILSTRINGS",
                      out var _, out var _, out var _));
     Assert.False(StringsUtility.TryRetrieveInfoFromString(
                      StringsLanguageFormat.FullName,
                      "SkyrimFrench.ILSTRINGS",
                      out var _, out var _, out var _));
     Assert.False(StringsUtility.TryRetrieveInfoFromString(
                      StringsLanguageFormat.FullName,
                      "Skyrim_fr.ILSTRINGS",
                      out var _, out var _, out var _));
 }
Пример #9
0
 public JsonResult _IsAvailableEmail(string email)
 {
     if (StringsUtility.IsValidEmail(email))
     {
         if (servicesManager.AccountService.IsEmailExist(email) > 0)
         {
             return(Json(new { isvalid = true, isavailable = false }));
         }
         else
         {
             return(Json(new { isvalid = true, isavailable = true }));
         }
     }
     else
     {
         return(Json(new { isvalid = false }));
     }
 }
        public List <ListArticleViewModel> GetArticlesPerFeatureCategories(int count, List <ListArticleViewModel> except, int image_width, int image_height, int description_size = 100)
        {
            List <ListArticleViewModel> final_result = new List <ListArticleViewModel>();
            List <string>   except_list       = except.Select(a => a.URL).ToList();
            List <Category> online_categories = DAManager.CategoriesRepository.Get(c => c.IsPublished == true && c.FeatureOrder != null).ToList();

            IQueryable <ArticleCategory> AC = null;

            foreach (Category c in online_categories)
            {
                if (AC == null)
                {
                    AC = DAManager.ArticleCategoriesRepository.Get(a => !except_list.Contains(a.Article.URL) && a.Article.IsPublished == true && DbFunctions.CreateDateTime(a.Article.PublishDate.Year, a.Article.PublishDate.Month, a.Article.PublishDate.Day, a.Article.PublishDate.Hour, a.Article.PublishDate.Minute, a.Article.PublishDate.Second) <= DateTime.Now && a.CategoryId == c.CategoryId, a => a.OrderByDescending(ar => ar.Article.PublishDate), "Article,Article.ArticleImages.Image").Take(count).AsQueryable();
                }
                else
                {
                    AC = AC.Union(DAManager.ArticleCategoriesRepository.Get(a => !except_list.Contains(a.Article.URL) && a.Article.IsPublished == true && DbFunctions.CreateDateTime(a.Article.PublishDate.Year, a.Article.PublishDate.Month, a.Article.PublishDate.Day, a.Article.PublishDate.Hour, a.Article.PublishDate.Minute, a.Article.PublishDate.Second) <= DateTime.Now && a.CategoryId == c.CategoryId, a => a.OrderByDescending(ar => ar.Article.PublishDate), "Article,Article.ArticleImages.Image").Take(count).AsQueryable());
                }
            }


            foreach (ArticleCategory article_c in AC.ToList())
            {
                ListArticleViewModel item = new ListArticleViewModel()
                {
                    CategoryId = article_c.CategoryId, URL = article_c.Article.URL, Title = article_c.Article.Title, PublishDate = article_c.Article.PublishDate
                };
                if (article_c.Article.ArticleImages.Count() > 0)
                {
                    item.ImageURL = article_c.Article.ArticleImages.First().Image.URL;
                }

                item.Description = StringsUtility.StripHTML(article_c.Article.Description);
                if (item.Description.Length > description_size)
                {
                    item.Description = item.Description.Substring(0, description_size);
                }

                final_result.Add(item);
            }


            return(FormatImageURL(final_result.OrderByDescending(a => a.PublishDate).ToList(), image_width, image_height));
        }
Пример #11
0
 public void TryRetrieveInfoFromString_Iso_Fail()
 {
     Assert.False(StringsUtility.TryRetrieveInfoFromString(
                      StringsLanguageFormat.Iso,
                      "Skyrim_frILSTRINGS",
                      out var _, out var _, out var _));
     Assert.False(StringsUtility.TryRetrieveInfoFromString(
                      StringsLanguageFormat.Iso,
                      "Skyrimfr.ILSTRINGS",
                      out var _, out var _, out var _));
     Assert.False(StringsUtility.TryRetrieveInfoFromString(
                      StringsLanguageFormat.Iso,
                      "Skyrim_French.ILSTRINGS",
                      out var _, out var _, out var _));
     Assert.False(StringsUtility.TryRetrieveInfoFromString(
                      StringsLanguageFormat.Iso,
                      "Skyrim_zz.ILSTRINGS",
                      out var _, out var _, out var _));
 }
Пример #12
0
        public override void Execute(Game.Game game)
        {
            var suffix   = SuffixTag.Used ? SuffixArgument.Contents : null;
            var contains = ContainsTag.Used ? ContainsArgument.Contents : null;
            var list     = StringsUtility.Match(NameArgument.IsFilled ? NameArgument.Contents : "", List(game), suffix, contains);

            if (list.Count == 0)
            {
                VConsole.WriteLine($"No {TypeName} found!");
            }
            else if (list.Count > 1)
            {
                var format = new TextListFormat <T>
                {
                    Func = item => item.Name, IsNumbered = NumberedTag.Used, IsGrouped = !SeparatedTag.Used
                };
                new TextList <T>(list, format).Write();
            }
            else
            {
                Describe(list[0]);
            }
        }
Пример #13
0
 public void TryRetrieveInfoFromString_Fail()
 {
     Assert.False(StringsUtility.TryRetrieveInfoFromString("Skyrim_FrenchILSTRINGS", out var _, out var _, out var _));
     Assert.False(StringsUtility.TryRetrieveInfoFromString("SkyrimFrench.ILSTRINGS", out var _, out var _, out var _));
 }
Пример #14
0
        public override string ToString()
        {
            var list = this.Select(pair => $"x{pair.Value} {pair.Key}").ToList();

            return(StringsUtility.Bracket(StringsUtility.InsertCommas(list)));
        }