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; }
public dtoCriterion(expCriterion criterion) : this(criterion.Id, criterion.Name, criterion.DisplayOrder) { CreateDto(criterion); }