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); }
public async Task <ActionResult <AddNewQuoteCRUDResponse> > AddQuoteModel(QuoteCubeForPOSTCreate quoteCubeForPOST) { IStandardCRUD standardCRUD = new QuoteModelCRUD(); var crudResponse = (AddNewQuoteCRUDResponse)await standardCRUD.AddOneRow(quoteCubeForPOST, _context); return(crudResponse); }
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); }