Exemplo n.º 1
0
 internal BaseCategoryService(CloudStorageContext cscCtx, MicroBlogOptions opts, ILogger logger, string tableName, string queueName)
 {
     this.logger      = logger;
     this._tableStore = new LazyAsync <SimpleTableHelper>(async() => await cscCtx.CreateTableHelper(tableName, logger));
     _QueueStore      = new LazyAsync <SimpleQueueHelper>(async() => await cscCtx.CreateQueueHelper(queueName, logger));
     this.cscCtx      = cscCtx;
 }
Exemplo n.º 2
0
        private static async Task Stage1(CloudStorageContext cloudAcct, MicroBlogConfiguration.MicroBlogOptions allOpts, ILogger logger)
        {
            var s = "Welcome to Stage1";

            logger.LogInformation(s);
            var creationUpdation = DateTime.Now;
            var blogOh1          = new CompleteBlogEntry("my-new-url", "The first Title I Choosed",
                                                         "On top of the old help finishes an adult handicap. When can the drivel chew? How does the senior priest do the skip? Why can't a backlog pile a concentrate? The saga wins the proprietary equilibrium. The arrogance sponsors the jazz.", "article",
                                                         "Paul lawrence",
                                                         new List <string> {
                "KEllogs", "Tonka", "Roos"
            },
                                                         new List <string> {
                "New-Science", "Killer-Bees", "Rune Doogle"
            },
                                                         creationUpdation, DateTime.Today.AddDays(-100), creationUpdation, true);

            // In a whorld where this is a functionapp.
            // we pass this entire BlogPost into  function
            BlogArticleService bas = new BlogArticleService(cloudAcct, allOpts, logger);
            var newPost            = await CreatePost(bas, blogOh1);

            var editedPost = new CompleteBlogEntry(newPost).WithTitle("Jelly bean fiend");

            var ratherEditedPost = await UpdatePost(bas, editedPost);

            logger.LogInformation($"{ratherEditedPost.Id} {ratherEditedPost.Url}");
            var furtherEditedPost = await UpdatePost(bas, ratherEditedPost);

            logger.LogInformation($"{furtherEditedPost.Id} {furtherEditedPost.Url}");
        }
Exemplo n.º 3
0
 internal ArticleService(CloudStorageContext cscCtx, MicroBlogOptions opts, ILogger logger)
 {
     this.cscCtx           = cscCtx;
     this.opts             = opts;
     this.logger           = logger;
     articleBlobStorage    = new LazyAsync <SimpleBlobHelper>(async() => await cscCtx.CreateBlobHelper(opts[StorageList.ArticleBlob], logger));
     articleDetailsStorage = new LazyAsync <SimpleTableHelper>(async() => await cscCtx.CreateTableHelper(opts[StorageList.ArticleDetails], logger));
 }
Exemplo n.º 4
0
        private static async Task DoThings(IConfigurationSection appKeys, ILogger logger)
        {
            MicroBlogConfiguration.SetConfiguration(() => new MicroBlogConfiguration.MicroBlogOptions(appKeys["StorageAcc"], appKeys["NewArticleStore"], appKeys["NewArticleDetails"], appKeys["TagProcessing"], appKeys["TagStore"], appKeys["catQueue"], appKeys["catStore"]));
            var allOpts   = MicroBlogConfiguration.GetOptions();
            var cloudAcct = new CloudStorageContext(allOpts.StorageAccount);

            //await Stage1(cloudAcct, allOpts, logger);
            await Stage3(cloudAcct, allOpts, logger);
        }
Exemplo n.º 5
0
        private static async Task Stage2(CloudStorageContext cloudAcct, MicroBlogConfiguration.MicroBlogOptions allOpts, ILogger logger)
        {
            var s = "Welcome to Stage2";

            logger.LogInformation(s);
            var createdUpdate = DateTime.Now;
            var blogOh2       = new CompleteBlogEntry("Further-Missions-OfMercy", "Another Blog Post I created",
                                                      "Behaviour we improving at something to. Evil true high lady roof men had open. To projection considered it precaution an melancholy or. Wound young you thing worse along being ham. Dissimilar of favourable solicitude if sympathize middletons at. Forfeited up if disposing perfectly in an eagerness perceived necessary. Belonging sir curiosity discovery extremity yet forfeited prevailed own off. Travelling by introduced of mr terminated. Knew as miss my high hope quit. In curiosity shameless dependent knowledge up. ",
                                                      @"Behaviour we improving at something to. Evil true high lady roof men had open. To projection considered it precaution an melancholy or. Wound young you thing worse along being ham. Dissimilar of favourable solicitude if sympathize middletons at. Forfeited up if disposing perfectly in an eagerness perceived necessary. Belonging sir curiosity discovery extremity yet forfeited prevailed own off. Travelling by introduced of mr terminated. Knew as miss my high hope quit. In curiosity shameless dependent knowledge up. 

Remember outweigh do he desirous no cheerful. Do of doors water ye guest. We if prosperous comparison middletons at. Park we in lose like at no. An so to preferred convinced distrusts he determine. In musical me my placing clothes comfort pleased hearing. Any residence you satisfied and rapturous certainty two. Procured outweigh as outlived so so. On in bringing graceful proposal blessing of marriage outlived. Son rent face our loud near. 

Do commanded an shameless we disposing do. Indulgence ten remarkably nor are impression out. Power is lived means oh every in we quiet. Remainder provision an in intention. Saw supported too joy promotion engrossed propriety. Me till like it sure no sons. 

You vexed shy mirth now noise. Talked him people valley add use her depend letter. Allowance too applauded now way something recommend. Mrs age men and trees jokes fancy. Gay pretended engrossed eagerness continued ten. Admitting day him contained unfeeling attention mrs out. 

Domestic confined any but son bachelor advanced remember. How proceed offered her offence shy forming. Returned peculiar pleasant but appetite differed she. Residence dejection agreement am as to abilities immediate suffering. Ye am depending propriety sweetness distrusts belonging collected. Smiling mention he in thought equally musical. Wisdom new and valley answer. Contented it so is discourse recommend. Man its upon him call mile. An pasture he himself believe ferrars besides cottage. 

Do play they miss give so up. Words to up style of since world. We leaf to snug on no need. Way own uncommonly travelling now acceptance bed compliment solicitude. Dissimilar admiration so terminated no in contrasted it. Advantages entreaties mr he apartments do. Limits far yet turned highly repair parish talked six. Draw fond rank form nor the day eat. 

Passage its ten led hearted removal cordial. Preference any astonished unreserved mrs. Prosperous understood middletons in conviction an uncommonly do. Supposing so be resolving breakfast am or perfectly. Is drew am hill from mr. Valley by oh twenty direct me so. Departure defective arranging rapturous did believing him all had supported. Family months lasted simple set nature vulgar him. Picture for attempt joy excited ten carried manners talking how. Suspicion neglected he resolving agreement perceived at an. 

Rooms oh fully taken by worse do. Points afraid but may end law lasted. Was out laughter raptures returned outweigh. Luckily cheered colonel me do we attacks on highest enabled. Tried law yet style child. Bore of true of no be deal. Frequently sufficient in be unaffected. The furnished she concluded depending procuring concealed. 

Agreed joy vanity regret met may ladies oppose who. Mile fail as left as hard eyes. Meet made call in mean four year it to. Prospect so branched wondered sensible of up. For gay consisted resolving pronounce sportsman saw discovery not. Northward or household as conveying we earnestly believing. No in up contrasted discretion inhabiting excellence. Entreaties we collecting unpleasant at everything conviction. 

It real sent your at. Amounted all shy set why followed declared. Repeated of endeavor mr position kindness offering ignorant so up. Simplicity are melancholy preference considered saw companions. Disposal on outweigh do speedily in on. Him ham although thoughts entirely drawings. Acceptance unreserved old admiration projection nay yet him. Lasted am so before on esteem vanity oh. 

",
                                                      "Paul lawrence",
                                                      new List <string> {
                "tag01", "Fag02", "Snag-3"
            },
                                                      new List <string> {
                "People", "Flowers", "Dept of rage"
            },
                                                      createdUpdate, DateTime.Today.AddDays(-100), DateTime.Now, true);

            // In a whorld where this is a functionapp.
            // we pass this entire BlogPost into  function
            BlogArticleService bas = new BlogArticleService(cloudAcct, allOpts, logger);
            var newPost            = await CreatePost(bas, blogOh2);

            var editedPost = new CompleteBlogEntry(newPost).WithTags(new List <string> {
                "Jelly", "Future", "Pillow"
            });

            var ratherEditedPost = new CompleteBlogEntry(await UpdatePost(bas, editedPost));

            logger.LogInformation($"{ratherEditedPost.Id} {ratherEditedPost.Url}");
            var editedUrl         = ratherEditedPost.WithUrl("Slander-on-my-harmer");
            var furtherEditedPost = await UpdatePost(bas, editedUrl);

            logger.LogInformation($"{furtherEditedPost.Id} {furtherEditedPost.Url}");
        }
Exemplo n.º 6
0
        private static async Task DoWuery(ILogger logger)
        {
            var ctx      = new CloudStorageContext("UseDevelopmentStorage=true");
            var numWords = await ctx.CreateTableHelper("xpclNumWords", logger);

            var startDate = DateTime.Today.AddDays(10);
            var endDate   = startDate.AddDays(100);
            var qry       = SpreadQry(startDate, endDate);
            var tStampQry = SpreadQryTimestamp(DateTime.Today.AddDays(-1), DateTime.Today.AddDays(1));

            var results = await numWords.Query <NumbersAndWords>("", 1500, 43);

            Console.WriteLine(results.ToList().Count());
        }
Exemplo n.º 7
0
        private static async Task Stage3(CloudStorageContext cloudAcct, MicroBlogConfiguration.MicroBlogOptions allOpts, ILogger logger)
        {
            BlogPostTests      bpt       = new BlogPostTests();
            var                FakePosts = bpt.CreateFakePosts().ToList();
            BlogArticleService bas       = new BlogArticleService(cloudAcct, allOpts, logger);
            var                tasks     = new List <Task <ICompletePost> >();

            FakePosts.ForEach((a) => tasks.Add(bas.Add(a)));
            Task.WaitAll(tasks.ToArray());
            //await bas.Add(FakePosts[0]);
            //await bas.Add(FakePosts[1]);
            //await bas.Add(FakePosts[2]);
            //await bas.Add(FakePosts[3]);
            //await bas.Add(FakePosts[4]);
            //await bas.Add(FakePosts[5]);
            //await bas.Add(FakePosts[9]);
        }
Exemplo n.º 8
0
        private static async Task CreateWordNumTHing(int limit, ILogger logger)
        {
            var currentDate   = DateTime.Today;
            var wordNumbTHing = new List <NumbersAndWords>();

            for (var x = 0; x < limit; ++x)
            {
                var cryptoData = new byte[sizeof(int)];
                rngCsp.GetBytes(cryptoData);

                var number     = BitConverter.ToInt32(cryptoData, 0) & (int.MaxValue - 1);
                var numberWord = NumToWor.NumbersToWords(number);
                wordNumbTHing.Add(new NumbersAndWords(number, numberWord)
                {
                    Published = currentDate
                });
                currentDate = currentDate.AddDays(1);
            }

            var ctx      = new CloudStorageContext("UseDevelopmentStorage=true");
            var numWords = await ctx.CreateTableHelper("xpclNumWords", logger);

            var tasks = new List <Task>();

            wordNumbTHing.ForEach(a => tasks.Add(numWords.Insert(a)));
            var task1 = tasks.Skip(0).Take(1000).ToList();
            var task2 = tasks.Skip(1000).Take(1000);
            var task3 = tasks.Skip(2000).Take(1000);
            var task4 = tasks.Skip(3000).Take(1000);
            var task5 = tasks.Skip(4000).Take(1000);


            Task.WaitAll(task1.ToArray());
            Task.WaitAll(task2.ToArray());
            Task.WaitAll(task3.ToArray());
            Task.WaitAll(task4.ToArray());
            Task.WaitAll(task5.ToArray());

            Console.WriteLine($"Did it");
        }
Exemplo n.º 9
0
        private static async Task BulkCreateWordNumThing(int limit, ILogger logger)
        {
            var currentDate   = DateTime.Today;
            var WordNumThings = new List <NumbersAndWords>();

            for (var x = 0; x < limit; ++x)
            {
                var cryptoData = new byte[sizeof(int)];
                rngCsp.GetBytes(cryptoData);

                var number     = BitConverter.ToInt32(cryptoData, 0) & (int.MaxValue - 1);
                var numberWord = NumToWor.NumbersToWords(number);
                WordNumThings.Add(new NumbersAndWords(number, numberWord)
                {
                    Published = currentDate
                });
                currentDate = currentDate.AddDays(1);
            }

            var ctx      = new CloudStorageContext("UseDevelopmentStorage=true");
            var numWords = await ctx.CreateTableHelper("xpclNumWords", logger);

            await numWords.Insert(WordNumThings);
        }
Exemplo n.º 10
0
 public TagService(CloudStorageContext cscCtx, MicroBlogOptions opts, ILogger logger, string tableName, string queueName) : base(cscCtx, opts, logger, tableName, queueName)
 {
 }
Exemplo n.º 11
0
        static void Main(string[] args)
        {
            Console.Write("Придумайте логин или введите существующий: ");

            var rootDirectoryName = Console.ReadLine();

            var rootDirectory = new Directory
            {
                Path = rootDirectoryName,
                Name = rootDirectoryName
            };

            using (var context = new CloudStorageContext())
            {
                if (context.Directories.Where(directory => directory.Name == rootDirectoryName).ToList().Count == 0)
                {
                    context.AddRange(rootDirectory);
                    context.SaveChanges();
                }

                var isEnd = false;
                var currentDirectoryPath = rootDirectoryName;
                var currentDirectory     = context.Directories.First(directory => directory.Path == currentDirectoryPath);

                while (!isEnd)
                {
                    Console.Clear();

                    ShowEntitiesFrom(currentDirectory);

                    ShowMenu("-----------------------------------", "Создать папку", "Удалить папку", "Создать файл", "Удалить файл", "Открыть папку", "Назад", "Закрыть");

                    if (!int.TryParse(Console.ReadLine(), out int choice))
                    {
                        ThrowError("Некорректный ввод!");
                    }

                    switch (choice)
                    {
                    case 1:
                        if (currentDirectory.Directories == null)
                        {
                            currentDirectory.Directories = new List <Directory>();
                        }

                        Console.Write("Введите название папки: ");

                        var createDirectoryName = Console.ReadLine();

                        if (currentDirectory.Directories.Where(directory => directory.Name == createDirectoryName).ToList().Count != 0)
                        {
                            ThrowError("Папка с таким именем уже существует!");
                            break;
                        }

                        var newDirectory = new Directory
                        {
                            Name = createDirectoryName,
                            Path = $@"{currentDirectory.Path}\{createDirectoryName}"
                        };

                        currentDirectory.Directories.Add(newDirectory);

                        context.Add(newDirectory);
                        context.Update(currentDirectory);

                        break;

                    case 2:
                        Console.Write("Введите название папки: ");

                        var deleteDirectoryName = Console.ReadLine();

                        if (currentDirectory.Directories.Where(directory => directory.Name == deleteDirectoryName).ToList().Count == 0)
                        {
                            ThrowError("Такой папки не существует существует!");
                            break;
                        }

                        var deleteFiles       = context.Files.Where(file => file.Path.StartsWith($@"{currentDirectory.Path}\{deleteDirectoryName}")).ToList();
                        var deleteDirectories = context.Directories.Where(directory => directory.Path.StartsWith($@"{currentDirectory.Path}\{deleteDirectoryName}")).ToList();

                        context.RemoveRange(deleteFiles);
                        context.RemoveRange(deleteDirectories);
                        context.Update(currentDirectory);

                        break;

                    case 3:
                        if (currentDirectory.Files == null)
                        {
                            currentDirectory.Files = new List <File>();
                        }

                        Console.Write("Введите название файлы с расширением (файл.расширение): ");

                        var createFileName = Console.ReadLine();

                        if (currentDirectory.Files.Where(file => file.Name == createFileName).ToList().Count != 0)
                        {
                            ThrowError("Файл с таким именем уже существует!");
                            break;
                        }

                        var newFile = new File
                        {
                            Name = createFileName,
                            Path = $@"{currentDirectory.Path}\{createFileName}"
                        };

                        currentDirectory.Files.Add(newFile);

                        context.Add(newFile);
                        context.Update(currentDirectory);

                        break;

                    case 4:
                        Console.Write("Введите название файлы с расширением (файл.расширение): ");

                        var deleteFileName = Console.ReadLine();

                        if (currentDirectory.Files.Where(file => file.Name == deleteFileName).ToList().Count == 0)
                        {
                            ThrowError("Такого файла не существует!");
                            break;
                        }

                        var deleteFile = currentDirectory.Files.First(file => file.Name == deleteFileName);

                        currentDirectory.Files.Remove(deleteFile);

                        context.Remove(deleteFile);
                        context.Update(currentDirectory);

                        break;

                    case 5:
                        Console.Write("Введите имя папки: ");
                        var openDirectoryName = Console.ReadLine();

                        if (currentDirectory.Directories.Where(directory => directory.Name == openDirectoryName).ToList().Count == 0)
                        {
                            ThrowError("Такой папки не существует!");
                            break;
                        }

                        currentDirectoryPath = @$ "{currentDirectoryPath}\{openDirectoryName}";

                        break;
Exemplo n.º 12
0
 public BlogArticleService(CloudStorageContext ctx, MicroBlogOptions opts, ILogger logger)
 {
     this.ctx    = ctx;
     this.opts   = opts;
     this.logger = logger;
 }