コード例 #1
0
        public async Task <ActionResult <List <AddNewQuoteCRUDResponse> > > AddAutoGeneratedQuote(int NumberOfQuotes)
        {
            List <AddNewQuoteCRUDResponse> addNewQuoteCRUDResponses = new List <AddNewQuoteCRUDResponse>();
            IStandardCRUD standardCRUD = new QuoteModelCRUD();

            QuoteCubeForPOSTCreate quoteCubeForPOST    = new QuoteCubeForPOSTCreate();
            IGenerateRandomQuote   generateRandomQuote = new GenerateRandomQuoteSimple();

            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();

            for (int i = 0; i < NumberOfQuotes; i++)
            {
                var autogeneratedRandomQuote = generateRandomQuote.GenerateQuoteCubeRandom();
                quoteCubeForPOST.QuoteAuthor  = autogeneratedRandomQuote.QuoteAuthor;
                quoteCubeForPOST.QuoteContent = autogeneratedRandomQuote.QuoteContent;

                var crudResponse = (AddNewQuoteCRUDResponse)await standardCRUD.AddOneRow(quoteCubeForPOST, _context);

                addNewQuoteCRUDResponses.Add(crudResponse);
            }

            stopWatch.Stop();

            // Get the elapsed time as a TimeSpan value.
            _ = stopWatch.Elapsed;

            return(addNewQuoteCRUDResponses);
        }
コード例 #2
0
        public async Task <ActionResult <AddNewQuoteCRUDResponse> > AddQuoteModel(QuoteCubeForPOSTCreate quoteCubeForPOST)
        {
            IStandardCRUD standardCRUD = new QuoteModelCRUD();

            var crudResponse = (AddNewQuoteCRUDResponse)await standardCRUD.AddOneRow(quoteCubeForPOST, _context);

            return(crudResponse);
        }
コード例 #3
0
        public async Task <Object> AddOneRow(object RowInformation, QuoteCMSContext context)
        {
            AddNewQuoteCRUDResponse addNewQuoteCRUDResponse = new AddNewQuoteCRUDResponse();
            QuoteIdentifier         quoteIdentifier         = new QuoteIdentifier();
            QuoteCubeForPOSTCreate  quoteCubeForPOSTCreate  = (QuoteCubeForPOSTCreate)RowInformation;

            QuoteModel quoteModel = new QuoteModel
            {
                QuoteAuthor           = quoteCubeForPOSTCreate.QuoteAuthor,
                QuoteContent          = quoteCubeForPOSTCreate.QuoteContent,
                QuoteIdentifierString = quoteIdentifier.GenerateIdentifierString("dash")
            };

            try
            {
                context.QuoteModels.Add(quoteModel);
                await context.SaveChangesAsync();

                addNewQuoteCRUDResponse.dateTimeOfResponse = DateTime.Now;
                addNewQuoteCRUDResponse.ListOfResponses.Add("New Quote has been successfully added. Identifier is " + quoteModel.QuoteIdentifierString);
                addNewQuoteCRUDResponse.QuoteIdentifierString = quoteModel.QuoteIdentifierString;
            }
            catch (Exception e)
            {
                addNewQuoteCRUDResponse.OperationSuccessful   = false;
                addNewQuoteCRUDResponse.DetailsAboutOperation = " Error with Saving QuoteModel. Details here. " + e.ToString();
                addNewQuoteCRUDResponse.dateTimeOfResponse    = DateTime.Now;

                return(addNewQuoteCRUDResponse);
            }

            //at this point, the quote is in the system.
            //so, I will start the life of this quote, in QuoteHistoryModel

            QuoteHistoryCube quoteHistoryCube = new QuoteHistoryCube
            {
                Active = true,
                QuoteIdentifierString   = quoteModel.QuoteIdentifierString,
                QuoteLifeStageIncrement = 1, //it is just born. So, 1 is its age.
                                             //TODO - randomly assign a different birth string for this.
                QuoteLifStageDescription = "Happy Birthday. A Quote is Born. Conquerer of the world! Author " + quoteCubeForPOSTCreate.QuoteAuthor + " Quote " + quoteCubeForPOSTCreate.QuoteContent
            };
            IStandardCRUD standardCRUD             = new QuoteHistoryCRUD();
            var           quoteHistoryCRUDResponse = (CRUDResponse)await standardCRUD.AddOneRow(quoteHistoryCube, context);

            //update the local crud response with response of the QuoteHistoryCRUD operation
            addNewQuoteCRUDResponse.dateTimeOfResponse = DateTime.Now;
            addNewQuoteCRUDResponse.ListOfResponses.AddRange(quoteHistoryCRUDResponse.ListOfResponses);
            //if second operation has failed, then, obviously, this should indicate that things have failed
            //developer will be able to look at list of responses to see where things went wrong.
            addNewQuoteCRUDResponse.DetailsAboutOperation = quoteHistoryCRUDResponse.DetailsAboutOperation;
            addNewQuoteCRUDResponse.OperationSuccessful   = quoteHistoryCRUDResponse.OperationSuccessful;

            //one last message
            addNewQuoteCRUDResponse.ListOfResponses.Add("Create and History Operations Completed. Please dont assume success. Check OperationSuccessful and ListOfResponses for more details");

            return(addNewQuoteCRUDResponse);
        }