public static List <SelectListItem> GetListItem(this List <SelectListItem> listInput, string index, string name) { var items = new List <SelectListItem>(); foreach (var item in WSEIndexItemSingleton.Instance().Indexes[index.ToLower()]) { if (name != item.Value) { items.Add(new SelectListItem() { Text = item.Value, Value = item.Key }); } else { items.Add(new SelectListItem() { Text = item.Value, Value = item.Key, Selected = true }); } } if (items.Count != 0 && name == null) { items[0].Selected = true; } items = items.OrderBy(l => l.Value).ToList(); return(items); }
public static List <SelectListItem> GetIndexList(this List <SelectListItem> listInput, string index) { if (index == "" || index == null) { index = WSEIndexItemSingleton.Instance().getFirstIndexName; } List <SelectListItem> indexes = new List <SelectListItem>(); foreach (var item in WSEIndexItemSingleton.Instance().Indexes.Keys) { if (item != index) { indexes.Add(new SelectListItem() { Text = item.ToUpper(), Value = item }); } else { indexes.Add(new SelectListItem() { Text = item.ToUpper(), Value = item, Selected = true }); } } return(indexes); }
public IActionResult UpdateAllData(string currentItem) { Table table = new Table(); WSEIndexItemSingleton WSESingleton = WSEIndexItemSingleton.Instance(); table.finishDate = DateTime.Today; if (table.finishDate.DayOfWeek == DayOfWeek.Sunday) { table.finishDate = table.finishDate.AddDays(-2); } if (table.finishDate.DayOfWeek == DayOfWeek.Saturday) { table.finishDate = table.finishDate.AddDays(-1); } foreach (string index in WSESingleton.GetIndexes()) { try { foreach (string item in WSESingleton.Indexes[index].Keys) { var existFinish = _repository.dayTickWSE.Where(x => x.Date == table.finishDate && x.ItemName == item).SingleOrDefault(); if (existFinish == null) { var lastTick = _repository.dayTickWSE.Where(x => x.ItemName == item).OrderByDescending(x => x.Date).ToList(); if (lastTick.Count == 0) { table.startDate = DateTime.Today.AddYears(-1); } else { table.startDate = lastTick[0].Date.AddDays(1); } table.Index = index; table.Name = item; table.GetTable(); new DayTickWSE().SaveDataFromStooq(_repository); } } } catch { } } if (currentItem == "Signal") { return(RedirectToAction("SignalsMonth", "Signal")); } return(RedirectToAction("ShowMonths", "Show", new { name = currentItem })); }
public async Task <IActionResult> ShowIndex(string name) { if (name == "" || name == null) { name = WSEIndexItemSingleton.Instance().getFirstItemName; } ViewBag.Title = name; var table = await new Table().GetTableByNameFromDB(name, _repository); return(View(table)); }
private void setBody() { if (finishDate == DateTime.MinValue || startDate == DateTime.MinValue) { Body = new List <DayTickWSE>(); startDate = DateTime.Today.AddYears(-1); finishDate = DateTime.Today; } else { Body = new DayTickWSE().GetDataFromStooq(startDate, finishDate, Index, Name); Head = WSEIndexItemSingleton.Instance().Head; } }
public IActionResult ShowMonths(string name, bool json = false) { if (name == "" || name == null) { name = WSEIndexItemSingleton.Instance().getFirstItemName; } ViewBag.Title = name; DateTime dateFrom = DateTime.Today.AddYears(-1); DateTime dateTo = DateTime.Today; if (json) { return(Json(ChangeData.getMonthRange(dateFrom, dateTo, _repository, name.ToLower()).OrderByDescending(x => x.Date).ToList())); } return(View(ChangeData.getMonthRange(dateFrom, dateTo, _repository, name).OrderByDescending(x => x.Date).ToList())); }
public Table() { _wseSingleton = WSEIndexItemSingleton.Instance(); Head = _wseSingleton.Head; }
public static List <SignalMonth> getSignalMonth(IRepository repository, int date) { DateTime dateTo = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1); // DateTime.Today.AddMonths(-1*date); dateTo = dateTo.AddMonths(-1 * date); DateTime dateFrom = dateTo.AddMonths(-3); List <SignalMonth> signals = new List <SignalMonth>(); var WSESingleton = WSEIndexItemSingleton.Instance(); int iterator = 0; foreach (string index in WSESingleton.GetIndexes()) { try { foreach (string item in WSESingleton.Indexes[index].Keys) { SignalMonth signalMonth = new SignalMonth(); signalMonth.StartDate = new DateTime(dateTo.Year, dateTo.Month, 1); var months = getMonthRange(dateFrom, dateTo, repository, item); if (months.Count == 4) { signalMonth.NameItem = item; signalMonth.DayTicksTable = months[3].DayTicksTable.Body; signalMonth.monthTick = months[3]; signalMonth.monthTickBefore = months[2]; iterator++; signalMonth.ID = iterator; //signalMonth.AvarageRange = Math.Max(Math.Max(months[0].Range, months[1].Range), months[2].Range); signalMonth.AvarageRange = months[2].Range; decimal min = 0; decimal max = 0; bool save = false; for (int i = 0; i < months[3].DayTicksTable.Body.Count; i++) { if (i == 0) { max = months[3].DayTicksTable.Body[i].High; min = months[3].DayTicksTable.Body[i].Low; } else { if (months[3].DayTicksTable.Body[i].High > max) { max = months[3].DayTicksTable.Body[i].High; } if (months[3].DayTicksTable.Body[i].Low < min) { min = months[3].DayTicksTable.Body[i].Low; } } if (i < 5) { signalMonth.DayPercentRange.Add($"{Math.Round(100 * (max - min) / signalMonth.AvarageRange, 1)}% ({(i + 1)})"); //if (Math.Round(100 * (max - min) / signalMonth.AvarageRange, 1) > 100) save = true; if (max > signalMonth.monthTickBefore.High || min < signalMonth.monthTickBefore.Low) { save = true; } } else { signalMonth.DayPercentRange.Add($"-{i + 1}-"); } } if (save) { signals.Add(signalMonth); } } } } catch { } } SignalMonth.CurrentList = signals; return(signals); }