예제 #1
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Post = await _postService.GetPostById(id);

            if (Post == null)
            {
                return(NotFound());
            }

            ViewData["PostImage"]   = Post.PostImage ?? "no-image.png";
            Post.PostTitleInBrowser = TextConvertor.ReplaceLetters(Post.PostTitleInBrowser, '-', ' ');
            ViewData["GroupId"]     = new SelectList(_groupService.GetAllGroup(), "GroupId", "GroupTitle");
            //ViewData["Author"] = new SelectList(_userService.GetAllUsers(), "UserId", "UserName");
            var tagsPost = "";

            foreach (var tag in _postTagService.GetAllTagsByPostId(id))
            {
                tagsPost += tag.Tag.TagTitle + ",";
            }

            ViewData["Tags"] = tagsPost.Length == 0 ? null : tagsPost.Substring(0, tagsPost.Length - 1);
            return(Page());
        }
예제 #2
0
        public void CanConvert(decimal amount, string amountInWords)
        {
            var convertor = new TextConvertor();
            var result    = convertor.Convert(amount, "DOLLARS", "CENTS");

            Assert.AreEqual(amountInWords, result);
        }
예제 #3
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Page = await _pageService.GetPageById(id);

            if (Page == null)
            {
                return(NotFound());
            }

            var selectItem = new Dictionary <int, string>();

            foreach (var grp in _groupService.GetAllGroup())
            {
                selectItem.Add(grp.GroupId, grp.GroupTitle);
            }

            ViewData["Groups"]      = selectItem;
            Page.PageTitleInBrowser = TextConvertor.ReplaceLetters(Page.PageTitleInBrowser, '-', ' ');

            return(Page());
        }
예제 #4
0
        public async Task UpdatePage(Page page)
        {
            page.PageUpdateDate     = DateTime.Now;
            page.PageTitleInBrowser = TextConvertor.ReplaceLetters(TextConvertor.FixingText(page.PageTitleInBrowser), ' ', '-');

            _context.Pages.Update(page);
            await _context.SaveChangesAsync();
        }
예제 #5
0
        public async Task UpdateProductAsync(Product product, IFormFile productImageUp, string oldImage)
        {
            product.CreatedOn = DateTime.Now;
            product.MetaTitle = TextConvertor.ReplaceLetters(TextConvertor.FixingText(product.MetaTitle), ' ', '-');
            product.Image     = productImageUp == null ? oldImage : ImageTools.UploadImageNormal(oldImage, productImageUp, "no-image.png", "wwwroot/assets/products/img", true, "wwwroot/assets/products/thumb", 240);

            _context.Products.Attach(product).State = EntityState.Modified;
            await SaveChangeAsync();
        }
        public void ZNodeShouldBeDeletedWhenDeleting()
        {
            string path = "/TestDelete";

            DeletePreviousData(path);
            Stat stat = CreateNodeWithdata(path, "Test Delete");

            byte[] returnedRawData = ZkActions.GetData(path, false, stat);
            Assert.AreEqual("Test Delete", TextConvertor.GetSTextFromBytesAscii(returnedRawData));
            ZkActions.Delete(path, stat.Version);
        }
        public void NewZNodeShouldExistsWithTheInsertedDataAfterCreation()
        {
            string path = "/TestCreate";

            DeletePreviousData(path);
            byte[] testRawData = TextConvertor.GetBytesFromTextAscii("Test Create");
            ZkActions.Create(path, testRawData, Ids.OPEN_ACL_UNSAFE, CreateMode.Ephemeral);
            Stat stat = ZkActions.Exists(path, false);

            byte[] returnedRawData = ZkActions.GetData(path, false, stat);
            Assert.AreEqual("Test Create", TextConvertor.GetSTextFromBytesAscii(returnedRawData));
        }
예제 #8
0
        public async Task AddPage(Page page)
        {
            page.PageTitleInBrowser = TextConvertor.FixingText(page.PageTitleInBrowser);
            page.PageCreateDate     = DateTime.Now;
            page.PageUpdateDate     = DateTime.Now;
            page.PageVisit          = 0;
            await _context.Pages.AddAsync(page);

            await _context.SaveChangesAsync();

            await SetShortUrlToPost(page.PageId);
        }
        public void ExisitingdataShouldBeUpdatedOnUpdate()
        {
            string path = "/TestSetData";

            DeletePreviousData(path);
            Stat stat = CreateNodeWithdata(path, "Test Update");

            byte[] returnedRawData = ZkActions.GetData(path, false, stat);
            Assert.AreEqual("Test Update", TextConvertor.GetSTextFromBytesAscii(returnedRawData));
            ZkActions.SetData(path, TextConvertor.GetBytesFromTextAscii("Updated"), stat.Version);
            byte[] returnedUpdatedRawData = ZkActions.GetData(path, false, stat);
            Assert.AreEqual("Updated", TextConvertor.GetSTextFromBytesAscii(returnedUpdatedRawData));
        }
예제 #10
0
        public void SendQuery(string query)
        {
            var n1GrammQuery = TextConvertor.TextToWordList(query);
            var texts        = TextSearcher.Search(query);

            foreach (string text in texts)
            {
                var n1GrammText     = TextConvertor.TextToWordList(text);
                var vectorizedText  = _word2VecModelDB.CreateWordVectorList(n1GrammText);
                var vectorizedQuery = _word2VecModelDB.CreateWordVectorList(n1GrammQuery);
                var score           = Cluster.GetAccordance(WordVector.GetVectors(vectorizedText), WordVector.GetVectors(vectorizedQuery));
                _view.ShowTextWithScore(text, score);
            }
        }
예제 #11
0
        public async Task UpdatePostAsync(Post post, IFormFile postImageUp, string tags, string oldImage)
        {
            var postTags = _postTagService.GetAllTagsByPostId(post.PostId);

            foreach (var tagTag in postTags)
            {
                _postTagService.RemoveTagFromPostTagByPostId(post.PostId, tagTag.TagId);
            }
            await _context.SaveChangesAsync();

            post.PostUpdateDate     = DateTime.Now;
            post.PostTitleInBrowser = TextConvertor.ReplaceLetters(TextConvertor.FixingText(post.PostTitleInBrowser), ' ', '-');
            post.PostImage          = postImageUp == null ? oldImage : ImageTools.UploadImageNormal(oldImage, postImageUp, "no-image.png", "wwwroot/assets/posts/image", true, "wwwroot/assets/posts/thumb", 240);

            if (tags != null)
            {
                var postTagAsArray = TextConvertor.TextToArray(tags, ",");
                var initialMiddlePostTagTableList = new List <PostTag>();
                foreach (var tag in postTagAsArray)
                {
                    var currentTag = TextConvertor.FixingText(tag);
                    if (!await _tagService.ExistTag(currentTag))
                    {
                        var newTagForSaveToTagsTable = new Tag {
                            TagTitle = currentTag
                        };
                        _tagService.AddTag(newTagForSaveToTagsTable);
                        initialMiddlePostTagTableList.Add(InitialMiddlePostTagTable(post.PostId,
                                                                                    newTagForSaveToTagsTable.TagId));
                    }
                    else
                    {
                        var existTagInTagsTable = _tagService.GetTagByTagTitle(currentTag);
                        initialMiddlePostTagTableList.Add(InitialMiddlePostTagTable(post.PostId,
                                                                                    existTagInTagsTable.TagId));
                    }

                    post.PostTags = initialMiddlePostTagTableList;
                    foreach (var pt in initialMiddlePostTagTableList)
                    {
                        await _context.PostTags.AddAsync(pt);
                    }
                }
            }

            _context.Posts.Attach(post).State = EntityState.Modified;
            await SaveChangeAsync();
        }
예제 #12
0
        public async Task <int> AddProduct(Product product, IFormFile productImageUp)
        {
            product.CreatedOn = DateTime.Now;
            product.Visit     = 0;
            product.Sales     = 0;
            product.Like      = 0;
            product.MetaTitle = TextConvertor.ReplaceLetters(TextConvertor.FixingText(product.MetaTitle), ' ', '-');

            product.Image = productImageUp == null ? "no-image.png" : ImageTools.UploadImageNormal("no-image.png", productImageUp, "no-image.png", "wwwroot/assets/products/img", true, "wwwroot/assets/products/thumb", 240);


            await _context.Products.AddAsync(product);

            await SaveChangeAsync();
            await SetShortUrlToProduct(product.ProductId);

            return(product.ProductId);
        }
예제 #13
0
        public async Task <int> AddPost(Post post, IFormFile postImageUp, string tags)
        {
            post.PostCreationDate   = DateTime.Now;
            post.PostUpdateDate     = DateTime.Now;
            post.PostVisit          = 0;
            post.IsPublished        = true;
            post.PostTitleInBrowser = TextConvertor.ReplaceLetters(TextConvertor.FixingText(post.PostTitleInBrowser), ' ', '-');

            post.PostImage = postImageUp == null ? "no-image.png" : ImageTools.UploadImageNormal("no-image.png", postImageUp, "no-image.png", "wwwroot/assets/posts/image", true, "wwwroot/assets/posts/thumb", 240);

            if (tags != null)
            {
                var postTagAsArray = TextConvertor.TextToArray(tags, ",");
                var initialMiddlePostTagTableList = new List <PostTag>();
                foreach (var tag in postTagAsArray)
                {
                    var currentTag = TextConvertor.FixingText(tag);
                    if (!await _tagService.ExistTag(currentTag))
                    {
                        var newTagForSaveToTagsTable = new Tag {
                            TagTitle = currentTag
                        };
                        _tagService.AddTag(newTagForSaveToTagsTable);
                        initialMiddlePostTagTableList.Add(InitialMiddlePostTagTable(post.PostId,
                                                                                    newTagForSaveToTagsTable.TagId));
                    }
                    else
                    {
                        var existTagInTagsTable = _tagService.GetTagByTagTitle(currentTag);
                        initialMiddlePostTagTableList.Add(InitialMiddlePostTagTable(post.PostId,
                                                                                    existTagInTagsTable.TagId));
                    }

                    post.PostTags = initialMiddlePostTagTableList;
                }
            }

            await _context.Posts.AddAsync(post);

            await SaveChangeAsync();
            await SetShortUrlToPost(post.PostId);

            return(post.PostId);
        }
예제 #14
0
        public void TextToWordList()
        {
            List <string> textList = new List <string> {
                "I saw a cat and a horse.???", "Google searches the Internet{}{}{[][][][[[])(-091)", "Using an extra step to eliminate stopwords"
            };
            List <string> expectList = new List <string> {
                "i cat horse ", "google searches internet ", "using extra step eliminate stopwords"
            };

            for (int i = 0; i < textList.Count; i++)
            {
                string        proccesedText;
                TextConvertor textConvertor = new TextConvertor();
                textConvertor.textMiningLanguage = simple_text_mining_library.Classes.TextMiningLanguage.English;
                proccesedText = textConvertor.RemoveStopWordsFromText(textList[i]);
                proccesedText = textConvertor.RemoveSpecialCharacters(proccesedText, true);
                Assert.AreEqual(proccesedText, expectList[i]);
            }
        }
예제 #15
0
        public async Task <IActionResult> OnPostAsync(IFormFile productImageUp)
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            if (await _productService.IsProductMetaTitleInBrowserRepeated(TextConvertor.ReplaceLetters(TextConvertor.FixingText(Product.MetaTitle), ' ', '-')))
            {
                ModelState.AddModelError("Product.MetaTitle", "قبلا محصولی با این عنوان برای مرورگر ثبت شده است!");
                ViewData["BrandId"]    = new SelectList(await _brandService.GetAllBrands(), "Id", "Name");
                ViewData["CategoryId"] = new SelectList(await _categoryService.GetAllCategories(), "Id", "Name");
                return(Page());
            }

            await _productService.AddProduct(Product, productImageUp);

            return(RedirectToPage("./Index"));
        }
예제 #16
0
        public async Task <IActionResult> OnPostAsync(IFormFile postImageUp, string tags)
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            if (await _postService.IsPostTitleInBrowserRepeated(TextConvertor.ReplaceLetters(TextConvertor.FixingText(Post.PostTitleInBrowser), ' ', '-')))
            {
                ModelState.AddModelError("Post.PostTitleInBrowser", "قبلا مطلبی با این عنوان برای مرورگر ثبت شده است!");
                ViewData["GroupId"] = new SelectList(_groupService.GetAllGroup(), "GroupId", "GroupTitle");
                ViewData["Author"]  = new SelectList(_userManager.Users, "UserId", "UserName");
                return(Page());
            }

            await _postService.AddPost(Post, postImageUp, tags);

            return(RedirectToPage("./Index"));
        }
예제 #17
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Product = await _productService.GetProductById(id);

            if (Product == null)
            {
                return(NotFound());
            }

            ViewData["ProductImage"] = Product.Image ?? "no-image.png";
            ViewData["BrandId"]      = new SelectList(await _brandService.GetAllBrands(), "Id", "Name");
            ViewData["CategoryId"]   = new SelectList(await _categoryService.GetAllCategories(), "Id", "Name");
            Product.MetaTitle        = TextConvertor.ReplaceLetters(Product.MetaTitle, '-', ' ');
            return(Page());
        }
예제 #18
0
        public List <WordVector> CreateWordVectorList(string filePath)
        {
            List <WordVector> resultList = new List <WordVector>();
            var        inputText         = File.ReadAllText(filePath);
            WordVector tempWordVector;
            var        texCleaner = new TextConvertor();

            texCleaner.textMiningLanguage = simple_text_mining_library.Classes.TextMiningLanguage.English;
            inputText = texCleaner.RemoveSpecialCharacters(inputText, true);
            inputText = texCleaner.RemoveStopWordsFromText(inputText);
            var listText = texCleaner.N1GramAnalysis(inputText);

            foreach (string item in listText)
            {
                tempWordVector = ReadWordVector(item);
                if (tempWordVector.Vector.Count() > 0)
                {
                    resultList.Add(tempWordVector);
                }
            }
            return(resultList);
        }
 private Stat CreateNodeWithdata(string path, string testData)
 {
     byte[] testRawData = TextConvertor.GetBytesFromTextAscii(testData);
     ZkActions.Create(path, testRawData, Ids.OPEN_ACL_UNSAFE, CreateMode.Persistent);
     return(ZkActions.Exists(path, false));
 }
예제 #20
0
        #pragma warning disable 1998
        public async override global::System.Threading.Tasks.Task ExecuteAsync()
        {
            BeginContext(88, 2, true);
            WriteLiteral("\r\n");
            EndContext();
#line 5 "C:\Users\behna\Desktop\ShopCore\ShopCore\App\Pages\Post.cshtml"

            ViewData["Title"] = Html.Raw(TextConvertor.ReplaceLetters(Model.Post.PostTitleInBrowser, '-', ' '));

#line default
#line hidden
            BeginContext(203, 378, true);
            WriteLiteral(@"
<div class=""breadcrumb-area bg-gray"">
    <div class=""container"">
        <div class=""row"">
            <div class=""col-lg-12"">
                <ul class=""breadcrumb-list"">
                    <li class=""breadcrumb-item""><a href=""index.html"">خانه</a></li>
                    <li class=""breadcrumb-item"">بلاگ</li>
                    <li class=""breadcrumb-item active"">");
            EndContext();
            BeginContext(582, 20, false);
#line 16 "C:\Users\behna\Desktop\ShopCore\ShopCore\App\Pages\Post.cshtml"
            Write(Model.Post.PostTitle);

#line default
#line hidden
            EndContext();
            BeginContext(602, 443, true);
            WriteLiteral(@"</li>
                </ul>
            </div>
        </div>
    </div>
</div>
<div class=""content-wraper bg-gray"">
    <div class=""container"">
        <div class=""row"">
            <div class=""col-lg-9 col-sm-12 col-12 order-1 order-lg-2"">
                <div class=""main-blog-wrap mt-60"">
                    <div class=""single-blog-area"">
                        <div class=""post-category"">
                            <ul>
");
            EndContext();
            BeginContext(1284, 163, true);
            WriteLiteral("                            </ul>\r\n                        </div>\r\n                        <div class=\"blog-titel \tblog-image\">\r\n                            <h1><a");
            EndContext();
            BeginWriteAttribute("href", " href=\"", 1447, "\"", 1477, 2);
            WriteAttributeValue("", 1454, "/a/", 1454, 3, true);
#line 37 "C:\Users\behna\Desktop\ShopCore\ShopCore\App\Pages\Post.cshtml"
            WriteAttributeValue("", 1457, Model.Post.ShortUrl, 1457, 20, false);

#line default
#line hidden
            EndWriteAttribute();
            BeginContext(1478, 1, true);
            WriteLiteral(">");
            EndContext();
            BeginContext(1480, 30, false);
#line 37 "C:\Users\behna\Desktop\ShopCore\ShopCore\App\Pages\Post.cshtml"
            Write(Html.Raw(Model.Post.PostTitle));

#line default
#line hidden
            EndContext();
            BeginContext(1510, 169, true);
            WriteLiteral("</a></h1>\r\n                        </div>\r\n                        <span class=\"post-author\">\r\n                            <span class=\"posted-by\">ارسال شده توسط </span>");
            EndContext();
            BeginContext(1680, 35, false);
#line 40 "C:\Users\behna\Desktop\ShopCore\ShopCore\App\Pages\Post.cshtml"
            Write(Html.Raw(Model.Post.User.FirstName));

#line default
#line hidden
            EndContext();
            BeginContext(1715, 1, true);
            WriteLiteral(" ");
            EndContext();
            BeginContext(1717, 34, false);
#line 40 "C:\Users\behna\Desktop\ShopCore\ShopCore\App\Pages\Post.cshtml"
            Write(Html.Raw(Model.Post.User.LastName));

#line default
#line hidden
            EndContext();
            BeginContext(1751, 148, true);
            WriteLiteral("\r\n                        </span>\r\n                        <span class=\"post-separator\"> | </span>\r\n                        <span class=\"post-date\">");
            EndContext();
            BeginContext(1900, 60, false);
#line 43 "C:\Users\behna\Desktop\ShopCore\ShopCore\App\Pages\Post.cshtml"
            Write(Html.Raw(Model.Post.PostCreationDate.ToLongShamsiWithWeek()));

#line default
#line hidden
            EndContext();
            BeginContext(1960, 159, true);
            WriteLiteral("</span>\r\n\r\n                        <div class=\"post-thumbnail\">\r\n                            <a href=\"blog-details.html\">\r\n                                <img");
            EndContext();
            BeginWriteAttribute("src", " src=\"", 2119, "\"", 2166, 2);
            WriteAttributeValue("", 2125, "/assets/posts/image/", 2125, 20, true);
#line 47 "C:\Users\behna\Desktop\ShopCore\ShopCore\App\Pages\Post.cshtml"
            WriteAttributeValue("", 2145, Model.Post.PostImage, 2145, 21, false);

#line default
#line hidden
            EndWriteAttribute();
            BeginContext(2167, 177, true);
            WriteLiteral(" alt=\"\">\r\n                            </a>\r\n                        </div>\r\n                        <div class=\"postinfo-wrapper\">\r\n                            <p class=\"mb-30\">");
            EndContext();
            BeginContext(2345, 36, false);
#line 51 "C:\Users\behna\Desktop\ShopCore\ShopCore\App\Pages\Post.cshtml"
            Write(Html.Raw(Model.Post.PostDescription));

#line default
#line hidden
            EndContext();
            BeginContext(2381, 36, true);
            WriteLiteral("</p>\r\n                            <a");
            EndContext();
            BeginWriteAttribute("href", " href=\"", 2417, "\"", 2447, 2);
            WriteAttributeValue("", 2424, "/a/", 2424, 3, true);
#line 52 "C:\Users\behna\Desktop\ShopCore\ShopCore\App\Pages\Post.cshtml"
            WriteAttributeValue("", 2427, Model.Post.ShortUrl, 2427, 20, false);

#line default
#line hidden
            EndWriteAttribute();
            BeginContext(2448, 2134, true);
            WriteLiteral(@" class=""readmore button"">بیشتر بخوانید</a>
                        </div>
                        <div class=""social-comment"">
                            <div class=""social-sharing"">
                                <h3 class=""social-title"">به اشتراک گذاری این مطلب</h3>
                                <ul class=""social-icons"">
                                    <li><a href=""#""><i class=""fa fa-facebook""></i></a></li>
                                    <li><a href=""#""><i class=""fa fa-twitter""></i></a></li>
                                    <li><a href=""#""><i class=""fa fa-telegram""></i></a></li>
                                    <li><a href=""#""><i class=""fa fa-google-plus""></i></a></li>
                                    <li><a href=""#""><i class=""fa fa-linkedin""></i></a></li>
                                </ul>
                            </div>
                            <a href=""#"" class=""blog-comment"">3 دیدگاه</a>
                        </div>
                    </div>
            ");
            WriteLiteral(@"        <div class=""paginatoin-area"">
                        <div class=""row"">
                            <div class=""col"">
                                <ul class=""pagination-box"">
                                    <li><a class=""Previous"" href=""#""> <i class=""fa fa-angle-double-right""></i> </a></li>
                                    <li><a class=""active"" href=""#"">1</a></li>
                                    <li><a href=""#"">2</a></li>
                                    <li><a href=""#"">3</a></li>
                                    <li><a class=""Next"" href=""#""> <i class=""fa fa-angle-double-left""></i> </a></li>
                                </ul>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class=""col-lg-3 col-sm-12 col-12 order-2 order-lg-1"">
                <div class=""categories-blog-area mt-60"">
                    <div class=""single-categories-1 blog-search"">
            ");
            WriteLiteral("            <h3 class=\"blog-categorie-title\">جزئیات پست</h3>\r\n                        ");
            EndContext();
            BeginContext(4582, 381, false);
            __tagHelperExecutionContext = __tagHelperScopeManager.Begin("form", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "337dd0122986423281c38f87d985777e", async() => {
                BeginContext(4624, 332, true);
                WriteLiteral(@"
                            <div class=""form-input"">
                                <input type=""text"" class=""input-text"" placeholder=""جستجو ..."">
                                <button type=""submit"" class=""blog-search-button""><i class=""fa fa-search""></i></button>
                            </div>
                        ");
                EndContext();
            }
                                                                        );
            __Microsoft_AspNetCore_Mvc_TagHelpers_FormTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.TagHelpers.FormTagHelper>();
            __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_TagHelpers_FormTagHelper);
            __Microsoft_AspNetCore_Mvc_TagHelpers_RenderAtEndOfFormTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.TagHelpers.RenderAtEndOfFormTagHelper>();
            __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_TagHelpers_RenderAtEndOfFormTagHelper);
            __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
            __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
            await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);

            if (!__tagHelperExecutionContext.Output.IsContentModified)
            {
                await __tagHelperExecutionContext.SetOutputContentAsync();
            }
            Write(__tagHelperExecutionContext.Output);
            __tagHelperExecutionContext = __tagHelperScopeManager.End();
            EndContext();
            BeginContext(4963, 50, true);
            WriteLiteral("\r\n                    </div>\r\n                    ");
            EndContext();
            BeginContext(5014, 47, false);
#line 94 "C:\Users\behna\Desktop\ShopCore\ShopCore\App\Pages\Post.cshtml"
            Write(await Component.InvokeAsync("NewPostComponent"));

#line default
#line hidden
            EndContext();
            BeginContext(5061, 82, true);
            WriteLiteral("\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n");
            EndContext();
        }