My approach, with 4 simple properties, gives reusability and cleaning the code:
public class ProductReportView
{
public int Count { get; set; }
public string ProductCode { get; set; }
public string ProductTitle { get; set; }
public string Producer { get; set; }
public bool VideoOnDemand { get; set; }
public bool PreviewScreen { get; set; }
public bool QualityCheck { get; set; }
public bool Archive { get; set; }
private string toYesNo(bool b)
{
return b ? "Yes" : "No";
}
public string VideoOnDemandString
{
get { return this.toYesNo(this.VideoOnDemand); }
}
public string PreviewScreenString
{
get { return this.toYesNo(this.PreviewScreen); }
}
public string QualityCheckString
{
get { return this.toYesNo(this.QualityCheck); }
}
public string ArchiveString
{
get { return this.toYesNo(this.Archive); }
}
}
This code can be reused in all your application without repetitions of "yes", "no", "yes", "no", etc.
Final suggestion: bools should be stored in bool properties, strings should be stored in string properties.
Don't persist bool values converted to string: don't have any sense.