示例#1
0
        private async Task UploadSummary(string timelineName, Table summary, RecordsTable records, string etag)
        {
            using (Stream zipStream = new MemoryStream())
            {
                using (ZipFile zip = new ZipFile())
                    using (Stream s1 = new MemoryStream())
                        using (Stream s2 = new MemoryStream())
                            using (Stream s3 = new MemoryStream())
                            {
                                ExperimentSummaryStorage.SaveTable(summary, s1);
                                s1.Position = 0;
                                zip.AddEntry(fileNameTimeline, s1);

                                RecordsStorage.SaveBenchmarksRecords(records.BenchmarkRecords, s2);
                                s2.Position = 0;
                                zip.AddEntry(fileNameRecords, s2);

                                RecordsStorage.SaveSummaryRecords(records.CategoryRecords, s3);
                                s3.Position = 0;
                                zip.AddEntry(fileNameRecordsSummary, s3);

                                zip.Save(zipStream);
                            }

                zipStream.Position = 0;

                var blobName = string.Format("{0}.zip", AzureUtils.ToBinaryPackBlobName(timelineName));
                var blob     = summaryContainer.GetBlockBlobReference(blobName);

                await blob.UploadFromStreamAsync(zipStream, etag == null?AccessCondition.GenerateIfNotExistsCondition() : AccessCondition.GenerateIfMatchCondition(etag),
                                                     new BlobRequestOptions { RetryPolicy = retryPolicy }, null);
            }
        }
示例#2
0
        private Timeline(AzureExperimentManager expManager, AzureSummaryManager summaryManager, string summaryName, ExperimentViewModel[] experiments, RecordsTable records)
        {
            this.expManager     = expManager;
            this.summaryManager = summaryManager;
            this.summaryName    = summaryName;
            this.experiments    = experiments.OrderBy(exp => exp.SubmissionTime).ToArray();

            Records = records;
        }
示例#3
0
        public static void Initialize()
        {
            PapersTable = getTable("vtPapers");
            if (PapersTable != null)
            {
                PapersTable.CreateIfNotExists();
            }

            TalliesTable = getTable("vtTallies");
            if (TalliesTable != null)
            {
                TalliesTable.CreateIfNotExists();
            }

            UsersTable = getTable("vtUsers");
            if (UsersTable != null)
            {
                UsersTable.CreateIfNotExists();
            }

            TotalsTable = getTable("vtTotals");
            if (TotalsTable != null)
            {
                TotalsTable.CreateIfNotExists();
            }

            RecordsTable = getTable("vtRecords");
            if (RecordsTable != null)
            {
                RecordsTable.CreateIfNotExists();
            }

            TagScrollsTable = getTable("vtTagScrolls");
            if (TagScrollsTable != null)
            {
                TagScrollsTable.CreateIfNotExists();
            }

            PictureContainer = getContainer("picture1");

            TalliesPartitionPond = new TablePartitionPond <TallyInfo>(TalliesTable);
            TotalsPartitionPond  = new TablePartitionPond2 <TallyInfo>(TotalsTable);
            TagScrollsPond       = new TablePartitionPond2 <TaggedVoteInfo>(TagScrollsTable);

            Random = new Random();
        }
示例#4
0
        static void Lab4()
        {
            //GameFacade facade = new GameFacade();
            //var board = facade.CreateGame("Simple", 3, 4);

            CardTypes card = CardTypes.Eight | CardTypes.Four;

            Console.WriteLine(card.ToString());


            //Boxing:
            int    forBoxing = 5;
            object boxed     = forBoxing;

            //Unboxing
            int forUnboxing = (int)forBoxing;

            OverridedObject obj = new OverridedObject();

            Console.WriteLine(obj.ToString());

            // differentParams
            var rtable = new RecordsTable();

            int vint = 4;
            int rint = 4;

            rtable.GetNumberOfRecords(vint, ref rint, out var oint);

            Console.WriteLine(vint);
            Console.WriteLine(rint);
            Console.WriteLine(oint);

            SimpleCard c1 = "test";

            SimpleCard c2 = (SimpleCard)1;


            Console.ReadLine();
        }
示例#5
0
        public ActionResult Index(string ddlBooks)
        {
            List <SelectListItem> BookList = GetBooks();

            if (!string.IsNullOrEmpty(ddlBooks))
            {
                SelectListItem selectedItem = BookList.Find(p => p.Value == ddlBooks);
                //ViewBag.Message = "Name: " + selectedItem.Text;
                //ViewBag.Message += "\\nID: " + selectedItem.Value;
                int           BookId   = Convert.ToInt32(ddlBooks);
                librarySystem entities = new librarySystem();
                var           record   = entities.RecordsTables.Where(x => x.BookId == BookId).Count(); //same book assigned to user (if less than 10 goes in if statement)
                if (record < 10)
                {
                    int customerid  = Convert.ToInt32(Session["customerId"]);
                    var avalibility = entities.RecordsTables.Where(x => x.BookId == BookId && x.customerId == customerid).Count();  //not assigning the same book again to the same user(if the book is not assigned goes to the if statement.)
                    if (avalibility == 0)
                    {
                        var recordData = new RecordsTable {
                            BookId = BookId, customerId = customerid, isApproved = false, IssueDate = DateTime.Now, ReturnDate = DateTime.Now.AddDays(7)
                        };
                        entities.RecordsTables.Add(recordData);
                        entities.SaveChanges();
                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        ViewBag.Message = "Book is borrowed already!";
                        return(View(BookList));
                    }
                }
                else
                {
                    ViewBag.Message = "Book is not available";
                    return(View(BookList));
                }
            }
            return(View(BookList));
        }
示例#6
0
        public async Task <ExperimentSummary[]> Update(string timelineName, params int[] experiments)
        {
            if (experiments == null)
            {
                throw new ArgumentNullException(nameof(experiments));
            }

            Trace.WriteLine("Downloading experiment results...");
            var all_summaries = await DownloadSummary(timelineName);

            Table        timeline = all_summaries.Item1;
            RecordsTable records  = all_summaries.Item2;
            string       etag     = all_summaries.Item3;

            foreach (var experimentId in experiments)
            {
                var exp = await storage.GetExperiment(experimentId); // fails if not found

                var domain = resolveDomain.GetDomain(exp.DomainName);

                var results = (await storage.GetResults(experimentId)).Benchmarks;

                Trace.WriteLine("Building summary for the experiment " + experimentId);
                var catSummary = ExperimentSummary.Build(results, domain, ExperimentSummary.DuplicateResolution.Ignore);
                var expSummary = new ExperimentSummary(experimentId, DateTimeOffset.Now, catSummary);
                timeline = ExperimentSummaryStorage.AppendOrReplace(timeline, expSummary);

                Trace.WriteLine("Updating records...");
                records.UpdateWith(results, domain);
            }

            await UploadSummary(timelineName, timeline, records, all_summaries.Item3);

            var resultfromTable = ExperimentSummaryStorage.LoadFromTable(timeline);

            Array.Sort(resultfromTable, (el1, el2) => DateTimeOffset.Compare(el2.Date, el1.Date));
            return(resultfromTable);
        }