| namespace AppsheetEpplus; | 
 |  | 
 | public class ExcelDxfFill : DxfStyleBase<ExcelDxfFill> { | 
 |   public ExcelDxfFill(ExcelStyles styles) | 
 |       : base(styles) { | 
 |     PatternColor = new(styles); | 
 |     BackgroundColor = new(styles); | 
 |   } | 
 |  | 
 |   public ExcelFillStyle? PatternType { get; set; } | 
 |  | 
 |   /// <summary> | 
 |   /// The color of the pattern | 
 |   /// </summary> | 
 |   public ExcelDxfColor PatternColor { get; internal set; } | 
 |  | 
 |   /// <summary> | 
 |   /// The background color | 
 |   /// </summary> | 
 |   public ExcelDxfColor BackgroundColor { get; internal set; } | 
 |  | 
 |   protected internal override string Id => | 
 |     GetAsString(PatternType) | 
 |         + "|" | 
 |         + (PatternColor == null ? "" : PatternColor.Id) | 
 |         + "|" | 
 |         + (BackgroundColor == null ? "" : BackgroundColor.Id); | 
 |  | 
 |   protected internal override void CreateNodes(XmlHelper helper, string path) { | 
 |     helper.CreateNode(path); | 
 |     SetValueEnum(helper, path + "/d:patternFill/@patternType", PatternType); | 
 |     SetValueColor(helper, path + "/d:patternFill/d:fgColor", PatternColor); | 
 |     SetValueColor(helper, path + "/d:patternFill/d:bgColor", BackgroundColor); | 
 |   } | 
 |  | 
 |   protected internal override bool HasValue => | 
 |     PatternType != null || PatternColor.HasValue || BackgroundColor.HasValue; | 
 |  | 
 |   protected internal override ExcelDxfFill Clone() { | 
 |     return new(_styles) { | 
 |       PatternType = PatternType, | 
 |       PatternColor = PatternColor.Clone(), | 
 |       BackgroundColor = BackgroundColor.Clone(), | 
 |     }; | 
 |   } | 
 | } |