@namespace Oqtane.Modules.Controls
@inherits ModuleControlBase

@if (_text != string.Empty)
{
    @((MarkupString)_text)
}

@code {

    private string _text = string.Empty;

    [Parameter]
    public string CreatedBy { get; set; }

    [Parameter]
    public DateTime CreatedOn { get; set; }

    [Parameter]
    public string ModifiedBy { get; set; }

    [Parameter]
    public DateTime ModifiedOn { get; set; }

    [Parameter]
    public string DeletedBy { get; set; }

    [Parameter]
    public DateTime? DeletedOn { get; set; }

    [Parameter]
    public bool IsDeleted { get; set; }

    [Parameter]
    public string Style { get; set; }

    protected override void OnParametersSet()
    {
        _text = string.Empty;
        if (!String.IsNullOrEmpty(CreatedBy) || CreatedOn != null)
        {
            _text += "<p style=\"" + Style + "\">Created ";

            if (!String.IsNullOrEmpty(CreatedBy))
            {
                _text += " by <b>" + CreatedBy + "</b>";
            }

            if (CreatedOn != null)
            {
                _text += " on <b>" + CreatedOn.ToString("MMM dd yyyy HH:mm:ss") + "</b>";
            }

            _text += "</p>";
        }

        if (!String.IsNullOrEmpty(ModifiedBy) || ModifiedOn != null)
        {
            _text += "<p style=\"" + Style + "\">Last modified ";

            if (!String.IsNullOrEmpty(ModifiedBy))
            {
                _text += " by <b>" + ModifiedBy + "</b>";
            }

            if (ModifiedOn != null)
            {
                _text += " on <b>" + ModifiedOn.ToString("MMM dd yyyy HH:mm:ss") + "</b>";
            }

            _text += "</p>";
        }

        if (!String.IsNullOrEmpty(DeletedBy) || DeletedOn.HasValue)
        {
            _text += "<p style=\"" + Style + "\">Deleted ";

            if (!String.IsNullOrEmpty(DeletedBy))
            {
                _text += " by <b>" + DeletedBy + "</b>";
            }

            if (DeletedOn != null)
            {
                _text += " on <b>" + DeletedOn.Value.ToString("MMM dd yyyy HH:mm:ss") + "</b>";
            }

            _text += "</p>";
        }
    }
}
