﻿using Progress.Sitefinity.AspNetCore.Models;
using Progress.Sitefinity.Renderer.Designers.Attributes;
using Progress.Sitefinity.Renderer.Entities.Content;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace OfficeLocations.Entities {
    public class OfficeLocationsEntity

{
    [ContentSection("Content")] [DisplayName("Section title")] public string Title

{
    get;
    set;
}

[ContentSection("Content")]
[DisplayName("Intro text")]
[DataType(customDataType: "multiline")]
public string IntroText {
    get;
    set;
}

[ContentSection("Content")]
[DisplayName("Background color")]
public string BackgroundColor {
    get;
    set;
}

= "#FFFFFF";

[ContentSection("Content")]
[DisplayName("Decorative icon/image")]
public MixedContentContext DecorativeImage {
    get;
    set;
}

[ContentSection("Offices")]
[DisplayName("Office items")]
public IList<OfficeItemEntity > Offices {
    get;
    set;
}

= new List<OfficeItemEntity > ();
}

public class OfficeItemEntity {
    [DisplayName("Office name")] public string OfficeName

{
    get;
    set;
}

[DisplayName("Country / subtitle")]
public string Country {
    get;
    set;
}

[DisplayName("Office image URL")]
public string OfficeImageUrl {
    get;
    set;
}

[DisplayName("Address")]
[DataType(customDataType: "multiline")]
public string Address {
    get;
    set;
}

[DisplayName("Main phone")]
public string MainPhone {
    get;
    set;
}

[DisplayName("Secondary phone")]
public string SecondaryPhone {
    get;
    set;
}

[DisplayName("Button text")]
public string ButtonText {
    get;
    set;
}

[DisplayName("Button link")]
public string ButtonLink {
    get;
    set;
}

[DisplayName("Company information")]
[DataType(customDataType: "multiline")]
public string CompanyInformation {
    get;
    set;
}

}
}
