﻿namespace Stove.StoveSDK
{
    using System;
    using System.Collections.Generic;
    using MiniJSON;


    public class BuildConfiguration
    {
        public string PackageName { get; }
        public string Version { get; }
        public string Environment { get; }

        public BuildConfiguration(string packageName, string version, string environment)
        {
            PackageName = packageName;
            Version = version;
            Environment = environment; 
        }


        public Dictionary<string, object> ToDictionary()
        {
            Dictionary<string, object> dictionary = new Dictionary<string, object>();

            if (PackageName != null)
            {
                dictionary.Add("packageName", PackageName);
            }

            if (Version != null)
            {
                dictionary.Add("version", Version);
            }

            if (Environment != null)
            {
                dictionary.Add("environment", Environment);
            }

            return dictionary;
        }

       
        public string ToJSONString()
        {
            Dictionary<string, object> dictionary = ToDictionary();

            return Json.Serialize(dictionary);
        }
    }
}

