Пример #1
0
        private static double SafeParse(SampleResultSetDto dto, string field)
        {
            object value = dto.GetType().GetProperty(field).GetValue(dto);

            if (value == null)
            {
                return(0.0);
            }
            double res;

            if (double.TryParse(value.ToString(), out res))
            {
                return(res);
            }
            return(0.0);
        }
Пример #2
0
        public static SampleResultSetDto CreateSampleResultsItemByGroupFunc(IList <SampleResultSetDto> sampleResultSets,
                                                                            GroupFunc func)
        {
            var item = new SampleResultSetDto {
                IsRow = true
            };

            switch (func)
            {
            case GroupFunc.Average: item.Title = "Сред.балл"; break;

            case GroupFunc.Max: item.Title = "Макс.балл"; break;

            case GroupFunc.Min: item.Title = "Мин.балл"; break;

            default: throw new ArgumentOutOfRangeException("func");
            }
            SampleResultSetDto[] query = sampleResultSets.Where(row => row.IsRow &&
                                                                !(row.Title.ToLower().Contains("макс.") ||
                                                                  row.Title.ToLower().Contains("мин.") ||
                                                                  row.Title.ToLower().Contains("сред."))).ToArray();
            for (int i = 1; i < 11; i++)
            {
                string field = "Value" + i;
                if (!string.IsNullOrEmpty(sampleResultSets.Aggregate(string.Empty, (current, x) => current + GetValue(x, field))))
                {
                    double result;
                    switch (func)
                    {
                    case GroupFunc.Average: result = query.Average(row => SafeParse(row, field)); break;

                    case GroupFunc.Max: result = query.Max(row => SafeParse(row, field)); break;

                    case GroupFunc.Min: result = query.Min(row => SafeParse(row, field)); break;

                    default: throw new ArgumentOutOfRangeException("func");
                    }
                    item.GetType().GetProperty(field).SetValue(item, result.ToString(CultureInfo.InvariantCulture));
                }
            }
            return(item);
        }
Пример #3
0
        private static string GetValue(SampleResultSetDto dto, string field)
        {
            object value = dto.GetType().GetProperty(field).GetValue(dto);

            return(value == null ? string.Empty : value.ToString());
        }
Пример #4
0
 public void UpdateSampleResultSet(SampleResultSetDto entity)
 {
 }
Пример #5
0
 public SampleResultSetDto InsertSampleResultSet(SampleResultSetDto entity)
 {
     return(new SampleResultSetDto {
         Rn = ++NextRn
     });
 }
Пример #6
0
 public void UpdateSampleResultSet(SampleResultSetDto entity)
 {
     UpdateEntity <SampleResultSet, SampleResultSetDto>(entity);
 }
Пример #7
0
 public SampleResultSetDto InsertSampleResultSet(SampleResultSetDto entity)
 {
     return(AddEntity <SampleResultSet, SampleResultSetDto>(entity));
 }