Ejemplo n.º 1
0
        private void CreateDto(expCriterion criterion)
        {
            if (criterion.Committee != null)
            {
                IdCommittee = criterion.Committee.Id;
                if (criterion.Committee.UseDss)
                {
                    MethodSettings = dtoItemMethodSettings.Create(criterion.Committee.MethodSettings, criterion.Committee.MethodSettings.UseManualWeights);
                }
            }
            if (criterion.UseDss)
            {
                WeightSettings = dtoItemWeightSettings.Create(criterion.WeightSettings, criterion.Committee.MethodSettings.UseManualWeights);
            }
            Deleted     = BaseStatusDeleted.None;
            Description = criterion.Description;
            CommentType = criterion.CommentType;
            Type        = criterion.Type;
            UseDss      = criterion.UseDss;
            switch (criterion.Type)
            {
            case CriterionType.IntegerRange:
            case CriterionType.DecimalRange:
                DecimalMinValue = criterion.DecimalMinValue;
                DecimalMaxValue = criterion.DecimalMaxValue;
                break;

            case CriterionType.StringRange:
                MaxOption = criterion.MaxOption;
                MinOption = criterion.MinOption;
                Options   = criterion.Options.Where(o => o.Deleted == BaseStatusDeleted.None).OrderBy(o => o.DisplayOrder).ThenBy(o => o.Name).Select(o => new dtoCriterionOption(o, criterion.Id)).ToList();
                break;

            case CriterionType.Textual:
                MaxLength = criterion.MaxLength;
                break;

            case CriterionType.RatingScale:
                IsFuzzy     = false;
                IdRatingSet = criterion.IdRatingSet;
                Options     = criterion.Options.Where(o => o.Deleted == BaseStatusDeleted.None).OrderBy(o => o.DisplayOrder).ThenBy(o => o.Name).Select(o => new dtoCriterionOption(o, criterion.Id)).ToList();
                break;

            case CriterionType.RatingScaleFuzzy:
                IsFuzzy     = true;
                IdRatingSet = criterion.IdRatingSet;
                Options     = criterion.Options.Where(o => o.Deleted == BaseStatusDeleted.None).OrderBy(o => o.DisplayOrder).ThenBy(o => o.Name).Select(o => new dtoCriterionOption(o, criterion.Id)).ToList();
                break;
            }
            CommentMaxLength = criterion.CommentMaxLength;
        }
Ejemplo n.º 2
0
 public dtoCriterion(expCriterion criterion)
     : this(criterion.Id, criterion.Name, criterion.DisplayOrder)
 {
     CreateDto(criterion);
 }