private void LoadCalendarWeeksValue(int monthIndex) { NumberFormatInfo Nfi = new CultureInfo("en-US", false).NumberFormat; DateTimeFormatInfo cultureDateTimeFormat = CultureInfo.CurrentCulture.DateTimeFormat; double monthly = 0; DateTimeFormatInfo mfi = new DateTimeFormatInfo(); _currentMonthName = mfi.GetMonthName(monthIndex); monthly = MonthProfit[monthIndex - 1]; _monthlyTotal = monthly.ToString("n", Nfi); string emptyStr = ""; for (int i = 0; i < _weeksInMonth.Length;i++ ) _weeksInMonth.SetValue(emptyStr, i); int dayCounter = 0; int weekCounter = 0; _weeklist.Clear(); DateTime[] weekTimes = new DateTime[_calendarResult.Count]; double[] pnlarray = new double[_calendarResult.Count]; foreach (var calitem in _calendarResult) { if (dayCounter == 0) { weekTimes[weekCounter] = calitem.Date; dayCounter++; } if (calitem.Date.DayOfWeek == DayOfWeek.Monday) { weekCounter++; weekTimes[weekCounter] = calitem.Date; } pnlarray[weekCounter] += calitem.Pnl; } int cc = 0; while (cc <= weekCounter) { ResultModel rm = new ResultModel(); rm.Date = weekTimes[cc]; rm.Pnl = pnlarray[cc]; _weeklist.Add(rm); cc++; } var result1 = from item in _weeklist.AsEnumerable() where item.Date.Month == monthIndex select item; bool isSixWeek; var tempdate = result1.ToArray()[0].Date; var sixWeek = new DateTime(tempdate.Year, tempdate.Month, 1); if (sixWeek.DayOfWeek == DayOfWeek.Saturday) isSixWeek = true; else if (sixWeek.DayOfWeek == DayOfWeek.Friday && DateTime.DaysInMonth(sixWeek.Year, sixWeek.Month) == 31) isSixWeek = true; else isSixWeek = false; _isSixWeekInMonth = isSixWeek; if (isSixWeek) { var sixthW = from item in _weeklist.AsEnumerable() where item.Date.Month == monthIndex + 1 select item; if (sixthW.ToArray().Length != 0) _weeksInMonth[5] = sixthW.ToArray()[0].Pnl.ToString("n", Nfi); } else _weeksInMonth[5] = ""; for (int i = 0; i < result1.ToArray().Length; i++) { var item = result1.ElementAt(i); var dtt = item.Date; int weeknumber = GetWeekOfMonth(dtt); switch (weeknumber) { case 1: _weeksInMonth[0] = item.Pnl.ToString("n", Nfi); break; case 2: _weeksInMonth[1] = item.Pnl.ToString("n", Nfi); break; case 3: _weeksInMonth[2] = item.Pnl.ToString("n", Nfi); break; case 4: _weeksInMonth[3] = item.Pnl.ToString("n", Nfi); break; case 5: _weeksInMonth[4] = item.Pnl.ToString("n", Nfi); break; } } }
private void CreateCalendarItems() { _isLoadedFromFile = false; _appointments.Clear(); _calendarResult.Clear(); NumberFormatInfo Nfi = new CultureInfo("en-US", false).NumberFormat; for (int i = 0; i < MonthProfit.Length; i++) MonthProfit[i] = 0; var result1 = from item in _weekData.DayDataTable.AsEnumerable() select item; int count = result1.ToArray().Length; var datetimetemp = DateTime.ParseExact(result1.ToArray().ElementAt(0).Date, DateFormatsManager.CurrentShortDateFormat + " HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None); ; _startCalendarTime = new DateTime(datetimetemp.Year,datetimetemp.Month,datetimetemp.Hour); datetimetemp = DateTime.ParseExact(result1.ToArray().ElementAt(count - 1).Date, DateFormatsManager.CurrentShortDateFormat + " HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None); _endCalendarTime = new DateTime(datetimetemp.Year, datetimetemp.Month, datetimetemp.Hour); _monthViewStartDate = new DateTime(_startCalendarTime.Year, _startCalendarTime.Month, 1); _monthViewEndDate = new DateTime(_endCalendarTime.Year, _startCalendarTime.Month + 1, 1); //todo create properties in calendardisplayer foreach (WeeklyData.tableDaysRow dataRow in result1.ToArray()) { var dateTimeStart = DateTime.ParseExact(dataRow.Date, DateFormatsManager.CurrentShortDateFormat + " HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None); if (dateTimeStart.DayOfWeek != DayOfWeek.Sunday && dateTimeStart.DayOfWeek != DayOfWeek.Saturday) { Appointment appointment = new Appointment(); var tt = new DateTime(dateTimeStart.Year, dateTimeStart.Month, dateTimeStart.Day); appointment.StartTime = tt; datetimetemp = DateTime.ParseExact(dataRow.Date, DateFormatsManager.CurrentShortDateFormat + " HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None).AddMinutes(1); CalcMonthProfit(dateTimeStart, dataRow.PNL); appointment.EndTime = appointment.StartTime.AddDays(1); if (double.Parse(dataRow.PNL.ToString()) > 0) appointment.CategoryColor = Appointment.CategoryGreen; else appointment.CategoryColor = Appointment.CategoryRed; appointment.Locked = true; appointment.Subject = Math.Round(dataRow.PNL, 2).ToString(); appointment.TimeMarkedAs = Appointment.TimerMarkerDefault; ResultModel item = new ResultModel(); item.Date = appointment.StartTime; item.Pnl = Math.Round(dataRow.PNL, 2); _calendarResult.Add(item); _appointments.Add(appointment); int month = _monthViewStartDate.Month; GetCalendarWeeksValue(month); } } }
private void LoadCalendarItems(List<ResultModel> list ) { _isLoadedFromFile = true; if (list.Count != 0) { NumberFormatInfo Nfi = new CultureInfo("en-US", false).NumberFormat; for (int i = 0; i < MonthProfit.Length; i++) MonthProfit[i] = 0; _appointments.Clear(); _calendarResult.Clear(); int count = list.Count; _startCalendarTime = list.ElementAt(0).Date; _endCalendarTime = list.ElementAt(count - 1).Date; DateTime dateTimeStart = _startCalendarTime; _monthViewStartDate = new DateTime(dateTimeStart.Year,dateTimeStart.Month, 1); _monthViewEndDate = new DateTime(dateTimeStart.Year,dateTimeStart.Month + 1, 1); foreach (var calendaritem in list) { dateTimeStart = new DateTime(calendaritem.Date.Year, calendaritem.Date.Month, calendaritem.Date.Day); if (dateTimeStart.DayOfWeek != DayOfWeek.Sunday && dateTimeStart.DayOfWeek != DayOfWeek.Saturday) { Appointment appointment = new Appointment(); appointment.StartTime = dateTimeStart; CalcMonthProfit(dateTimeStart, calendaritem.Pnl); appointment.EndTime = appointment.StartTime.AddDays(1); if (calendaritem.Pnl > 0) appointment.CategoryColor = Appointment.CategoryGreen; else appointment.CategoryColor = Appointment.CategoryRed; appointment.Locked = true; appointment.Subject = Math.Round(calendaritem.Pnl, 2).ToString(Nfi); appointment.TimeMarkedAs = Appointment.TimerMarkerDefault; ResultModel item = new ResultModel(); item.Date = appointment.StartTime; item.Pnl = Math.Round(calendaritem.Pnl, 2); _calendarResult.Add(item); _appointments.Add(appointment); } } int month = _monthViewStartDate.Month; LoadCalendarWeeksValue(month); } }
/// <summary> /// Get results /// </summary> /// <param name="symbolId"></param> /// <param name="datasetId"></param> /// <returns></returns> public static List<ResultModel> GetResult(int symbolId, int datasetId) { var result = new List<ResultModel>(); var sql = "SELECT * FROM " + TblResults; sql += " WHERE Symbol_ID =" + symbolId + " AND Dataset_ID = " + datasetId + " ORDER BY `Date`"; var reader = GetReader(sql); if (reader != null) { while (reader.Read()) { var rm = new ResultModel { Date = reader.GetDateTime(3), Pnl = reader.GetDouble(4) }; result.Add(rm); } reader.Close(); } return result; }