public async Task <ConcurrentBag <Model> > Quote(IndexModel model)
        {
            Debug.WriteLine("\n" + JsonConvert.SerializeObject(model));

            Connection.UpdateWebServiceBaseAddress(model.ApiServer);

            QuoteRequestWithJsonContent quoter = new QuoteRequestWithJsonContent();

            this.Session?.Add(typeof(QuoteRequestWithJsonContent).FullName, quoter);

            string clientDefinedIdPrefix = "BR-" + StringUtilities.CreateRandomString(8);

            try
            {
                if (model.WaitUntilCompleted)
                {
                    return(await quoter.Quote(model.Form, clientDefinedIdPrefix, 0, false));
                }
                Task.Run(() => quoter.Quote(model.Form, clientDefinedIdPrefix, 0, false)).ConfigureAwait(false);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }
            return(null);
        }
 public JsonResult GetResults()
 {
     try
     {
         QuoteRequestWithJsonContent quoter = this.Session[typeof(QuoteRequestWithJsonContent).FullName] as QuoteRequestWithJsonContent;
         if (quoter != null)
         {
             return(Json(quoter.GetResult(), JsonRequestBehavior.AllowGet));
         }
     }
     catch (Exception e)
     {
         Debug.WriteLine(e);
     }
     return(null); // ?? new MortgageSubmission<Quote>() { ClientDefinedId = "Test" }
 }
 public string GetCounts()
 {
     try
     {
         QuoteRequestWithJsonContent quoter = this.Session[typeof(QuoteRequestWithJsonContent).FullName] as QuoteRequestWithJsonContent;
         if (quoter != null)
         {
             return(JsonConvert.SerializeObject(quoter, Global.JsonSettings));
         }
     }
     catch (Exception e)
     {
         Debug.WriteLine(e);
     }
     return(null);
 }