/// <summary>
        /// Creates a new jam with default values
        /// </summary>
        /// <returns></returns>
        internal Jam Create()
        {
            Jam jam = new Jam
            {
                AdddedDate = DateTime.Now
            };

            return(jam);
        }
        /// <summary>
        /// Saves a new jam.
        /// </summary>
        /// <param name="jam"></param>
        /// <returns></returns>
        internal Jam Save(Jam jam)
        {
            // Read in the existing jams
            var jams = this.Retrieve();

            // Assign a new Id
            var maxId = jams.Max(p => p.JamId);

            jam.JamId = maxId + 1;
            jams.Add(jam);

            WriteData(jams);
            return(jam);
        }
        /// <summary>
        /// Updates an existing jam
        /// </summary>
        /// <param name="id"></param>
        /// <param name="jam"></param>
        /// <returns></returns>
        internal Jam Save(int id, Jam jam)
        {
            // Read in the existing jams
            var jams = this.Retrieve();

            // Locate and replace the item
            var itemIndex = jams.FindIndex(p => p.JamId == jam.JamId);

            if (itemIndex > 0)
            {
                jams[itemIndex] = jam;
            }
            else
            {
                return(null);
            }

            WriteData(jams);
            return(jam);
        }