public QuoteRecord Post([FromBody] QuoteRec submittedQuote)
        {
            System.Diagnostics.Debug.WriteLine(submittedQuote.ToString());
            QuoteRecord qr = new QuoteRecord {
                Author = submittedQuote.Author, Quote = submittedQuote.Quote
            };

            AddQuote(qr);
            return(qr);
        }
        //  public IActionResult AddQuote()
        //  {
        //var orgId = getOrg();
        //QuoteRecord qr = new QuoteRecord()
        //{
        //  Id = Guid.NewGuid(),
        //  OrganisationId = orgId

        //};
        //try
        //{
        //  _context.Add(qr);
        //  _context.SaveChanges();


        //  return RedirectToAction("AddQuote", new { id = qr.Id });
        //}
        //catch
        //{

        //}


        //return View();
        //  }

        public IActionResult AddQuote(Guid?id)
        {
            var orgId = getOrg();
            var quo   = _context.QuoteRecords.Where(x => x.OrganisationId == orgId).OrderByDescending(x => x.DateCreated).ToList();



            if (id == null)
            {
                QuoteRecord qr = new QuoteRecord()
                {
                    Id             = Guid.NewGuid(),
                    OrganisationId = orgId
                };

                if (quo.Count > 0)
                {
                    qr.QuoteNo = quo.FirstOrDefault().QuoteNo + 1;
                }
                else
                {
                    qr.QuoteNo = 1;
                }

                _context.Add(qr);
                _context.SaveChanges();


                id = qr.Id;

                return(RedirectToAction("AddQuote", new { id = qr.Id }));
            }
            var cQuoteRecord = quo.Where(x => x.Id == id).FirstOrDefault();

            QuoteViewModel qVM = new QuoteViewModel();

            qVM.Id           = cQuoteRecord.Id;
            qVM.QuoteNo      = cQuoteRecord.QuoteNo;
            qVM.Customer     = _context.Customers.Where(x => x.Id == cQuoteRecord.CustomerId).FirstOrDefault();
            qVM.Organisation = _context.Organisations.Where(x => x.Id == orgId).FirstOrDefault();
            qVM.Tax          = cQuoteRecord.Tax;
            qVM.SubTotal     = cQuoteRecord.SubTotal;
            qVM.Total        = cQuoteRecord.Total;
            qVM.QuoteItems   = _context.QuoteItems.Where(x => x.QuoteRecordId == id).Include(x => x.ProductService).ToList();
            qVM.DateCreated  = cQuoteRecord.DateCreated;
            //qVM.SubTotal = cQuoteRecord.SubTotal;
            //qVM.Tax = cQuoteRecord.Tax;
            //qVM.Total = cQuoteRecord.Total;

            return(View(qVM));
        }
        private static void AddQuote(QuoteRecord qr)
        {
            string NewQuote = qr.Quote + "--" + qr.Author;

            // WIP lock this access from multiple users
            var           app    = HttpContext.Current.Application;
            List <string> Quotes = (List <string>)app["AppQuotes"];

            Quotes.Add(NewQuote);
            app["AppQuotes"] = Quotes;

            string QuoteFile = HttpContext.Current.Server.MapPath("~/App_Data/sig.dat");
            // WIP save the file
        }
示例#4
0
        public static QuoteRecord BuildQuote(string q)
        {
            string[] data   = q.Split(new string[] { "--" }, StringSplitOptions.RemoveEmptyEntries);
            string   quote  = data[0];
            string   author = "";

            if (data.Length > 1)
            {
                author = data[1];
            }

            QuoteRecord qr = new QuoteRecord {
                Author = author, Quote = quote
            };

            return(qr);
        }
        public List <QuoteRecord> Get()
        {
            List <QuoteRecord> returned = new List <QuoteRecord>();
            List <string>      Quotes   = BasicQuotes.GetQuoteList();

            if (Quotes == null)
            {
                return(ReturnNotFound());
            }

            int Idx = random.Next(0, Quotes.Count);

            QuoteRecord qr = BasicQuotes.BuildQuote(Quotes[Idx]);

            returned.Add(qr);

            return(returned);
        }
        public List <QuoteRecord> Get(string id, int maxToReturn)
        {
            if (id == null || id == "")
            {
                id = " ";
            }
            List <string>      Quotes   = BasicQuotes.GetQuoteList();
            List <QuoteRecord> returned = new List <QuoteRecord>();

            if (Quotes == null)
            {
                return(ReturnNotFound());
            }

            var results = Quotes.Where(q => q.IndexOf(id, StringComparison.CurrentCultureIgnoreCase) > 0).OrderBy(r => Guid.NewGuid()).Take(maxToReturn);

            foreach (var q in results)
            {
                QuoteRecord qr = BasicQuotes.BuildQuote(q);
                returned.Add(qr);
            }

            return(returned);
        }
        public EErrorCodes GetTimeSeries(string country, string ticker, ETimeFrame timeframe, DateTime periodStart, DateTime periodEnd)
        {
            EErrorCodes result = EErrorCodes.GeneralError;

            try
            {
                if (SessionToken != null)
                {
                    GetTimeSeries reqGetTs = new GetTimeSeries();
                    reqGetTs.Ticker       = ticker;
                    reqGetTs.CountryCode  = country;
                    reqGetTs.SessionToken = SessionToken;
                    reqGetTs.PeriodStart  = periodStart != DateTime.MinValue ? periodStart : DateTime.Parse("01/01/1970");
                    reqGetTs.PeriodEnd    = periodEnd != DateTime.MinValue ? periodEnd : DateTime.Now;
                    reqGetTs.TimeFrame    = timeframe;

                    GetTimeSeriesResponse resGetTs = Post <GetTimeSeries, GetTimeSeriesResponse>("/api/timeseries/GetTimeSeries", reqGetTs);
                    if (resGetTs.Success)
                    {
                        // creating new records if needed
                        IndicatorData indData = null;
                        if (Indicators.TryGetValue(ticker, out indData))
                        {
                            for (int i = 0; i < resGetTs.Payload.Values.Quotes.Count; ++i)
                            {
                                QuoteRecord rec = resGetTs.Payload.Values.Quotes[i];
                                for (int v = 0; v < rec.Values.Count; ++v)
                                {
                                    String sTsName = indData.SeriesNames[v];
                                    IndicatorSeriesData indTsData = null;
                                    if (indData.Series.TryGetValue(sTsName, out indTsData))
                                    {
                                        indTsData.Values.Add(
                                            rec.Time,
                                            rec.Values[v]
                                            );
                                    }
                                }
                            }

                            result = EErrorCodes.Success;
                        }
                        else
                        {
                            result = EErrorCodes.TickerNotFound;
                        }
                    }
                    else
                    {
                        _lastError = new Exception(resGetTs.Errors[0].Message);
                        result     = resGetTs.Errors[0].Code;
                    }
                }
                else
                {
                    return(EErrorCodes.SessionClosed);
                }
            }
            catch (Exception ex)
            {
                _lastError = ex;
                result     = EErrorCodes.GeneralError;
            }

            return(result);
        }