コード例 #1
0
        /// <summary>
        /// ApplyChangeSetToInput: Applies the change set data to the input data
        /// </summary>
        public void ApplyChangeSetToInput()
        {
            DeserializeFiles();
            PlayListOperations playListOperations = new PlayListOperations(inputData, changeSetData);

            inputData = playListOperations.ApplyChangeSetToInput();
        }
コード例 #2
0
        /// <summary>
        /// DeserializeFiles: DeserializeFiles json file to C# objects
        /// </summary>
        private void DeserializeFiles()
        {
            IInputDataReader jsonDataReader = new JsonDataReader();

            inputData     = jsonDataReader.DeserializeInputData(InputFile);
            changeSetData = jsonDataReader.DeserializeChangeSet(ChangeFile);
        }
コード例 #3
0
        /// <summary>
        /// GenerateOutputFile: Generates json output file based on the object data passed. If the target exists, file is overwritten
        /// </summary>
        /// <param name="usersSongsPlayLists"></param>
        /// <param name="outputfilepath"></param>
        public void GenerateOutputFile(UsersSongsPlayLists usersSongsPlayLists, string outputfilepath)
        {
            var jsondata = SerializeToJsonString(usersSongsPlayLists);

            try
            {
                File.WriteAllText(outputfilepath, jsondata);
            }
            catch (DirectoryNotFoundException dirNotFoundException)
            {
                Console.WriteLine($"Error during file write, directory not found: {dirNotFoundException}");
            }
            catch (UnauthorizedAccessException unauthorizedAccessException)
            {
                Console.WriteLine($"Error during file write: {unauthorizedAccessException}");
            }
            catch (IOException ioException)
            {
                Console.WriteLine($"Error during file write { ioException}");
            }
            catch (Exception exception)
            {
                Console.WriteLine($"Error during file write{ exception}");
            }
        }
コード例 #4
0
        /// <summary>
        /// SerializeToJsonString: Serialize .net object usersSongsPlayLists to json string.
        /// </summary>
        /// <param name="usersSongsPlayLists"></param>
        /// <returns></returns>
        private string SerializeToJsonString(UsersSongsPlayLists usersSongsPlayLists)
        {
            var options = new JsonSerializerOptions
            {
                PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
                WriteIndented        = true,
            };

            return(JsonSerializer.Serialize(usersSongsPlayLists, options));
        }
コード例 #5
0
 public PlayListOperations(UsersSongsPlayLists inputData, UsersSongsPlayListsChangeSet changeSet)
 {
     base.inputData     = inputData;
     base.changeSetData = changeSet;
 }