/// <summary>
        /// Deletes an image from both the the view models and datamodels
        /// </summary>
        /// <param name="image"></param>
        internal void Delete(SafetyCheckFaultImageViewModel image)
        {
            // remove from backing data model (exists in startup service)
            _safetyCheckFault.Images.Remove(image.FaultImage);

            // remove view model
            Images.Remove(image);
        }
        /// <summary>
        /// Packs up the image stre
        /// </summary>
        /// <param name="stream"></param>
        private void OnPictureTaken(Stream stream)
        {
            var memoryStream = new MemoryStream();

            stream.CopyTo(memoryStream);

            int   sequenceNumber = (Images.Any()) ? _images.Max(i => i.FaultImage.Sequence) + 1 : 1;
            Image image          = new Image()
            {
                ID = Guid.NewGuid(), SafetyCheckFaultID = _safetyCheckFault.ID, Sequence = sequenceNumber, Bytes = memoryStream.ToArray()
            };


            //Add to data model
            _safetyCheckFault.Images.Add(image);

            //Add to view model
            SafetyCheckFaultImageViewModel imageViewModel = new SafetyCheckFaultImageViewModel(image, this);

            Images.Add(imageViewModel);
        }