Esempio n. 1
0
        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;

                }

            }
        }
Esempio n. 2
0
        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);

                }
            }
        }
Esempio n. 3
0
        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);

            }
        }
Esempio n. 4
0
        /// <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;
        }