Пример #1
0
        private bool ValidateDate(CsvReader csv)
        {
            if (!DateTime.TryParse(csv[(int)StatisticFields.StartDate], System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out m_StartDate))
            {
                m_Errors.Add(new CsvError(csv.CurrentRecordIndex, (int)StatisticFields.StartDate, 0, "errInvalidDateFormat", csv[(int)StatisticFields.StartDate], GetLine(csv)));
                return(false);
            }
            StatisticPeriodType periodType = (StatisticPeriodType)m_StatisticTypeRow["idfsStatisticPeriodType"];

            switch (periodType)
            {
            case StatisticPeriodType.Day:
                m_FinishDate = m_StartDate;
                break;

            case StatisticPeriodType.Month:
                if (m_StartDate.Day != 1)
                {
                    m_Errors.Add(new CsvError(csv.CurrentRecordIndex, (int)StatisticFields.StartDate, 0, "errInvalidMonthStartDate", csv[(int)StatisticFields.StartDate], GetLine(csv)));
                    return(false);
                }
                m_FinishDate = m_StartDate.AddMonths(1).AddDays(-1);
                break;

            case StatisticPeriodType.Quarter:
                if (m_StartDate.Day != 1 || m_StartDate.Month != 1 || m_StartDate.Month != 4 || m_StartDate.Month != 7 || m_StartDate.Month != 10)
                {
                    m_Errors.Add(new CsvError(csv.CurrentRecordIndex, (int)StatisticFields.StartDate, 0, "errInvalidQuarterStartDate", csv[(int)StatisticFields.StartDate], GetLine(csv)));
                    return(false);
                }
                m_FinishDate = m_StartDate.AddMonths(3).AddDays(-1);
                break;

            case StatisticPeriodType.Week:
                if (m_StartDate.DayOfWeek != System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek)
                {
                    m_Errors.Add(new CsvError(csv.CurrentRecordIndex, (int)StatisticFields.StartDate, 0, "errInvalidWeekStartDate", csv[(int)StatisticFields.StartDate], GetLine(csv)));
                    return(false);
                }
                m_FinishDate = m_StartDate.AddDays(6);
                break;

            case StatisticPeriodType.Year:
                if (m_StartDate.DayOfYear != 1)
                {
                    m_Errors.Add(new CsvError(csv.CurrentRecordIndex, (int)StatisticFields.StartDate, 0, "errInvalidYearStartDate", csv[(int)StatisticFields.StartDate], GetLine(csv)));
                    return(false);
                }
                m_FinishDate = m_StartDate.AddYears(1).AddDays(-1);
                break;
            }



            return(true);
        }
Пример #2
0
 public SituationOnInfectiousDiseasesSurrogateModel
     (string language,
     int year, StatisticPeriodType periodType, int periodNumber,
     DateTime startDate, DateTime endDate,
     long?regionId, string regionName,
     bool useArchive)
     : base(language, startDate, endDate, useArchive)
 {
     Year         = year;
     PeriodType   = periodType;
     PeriodNumber = periodNumber;
     RegionId     = regionId;
     RegionName   = regionName;
 }