Exemplo n.º 1
0
        private void pageSelectionChanged(object sender, EventArgs e)
        {
            int temp = 0;

            if (inputFile != null)
            {
                if (jdata.Questions != null && jdata.Responses != null && jdata.Contacts != null)
                {
                    if (pagesListBox.SelectedItem.ToString() == "Questions")
                    {
                        temp             = 0;
                        pageTextBox.Text = "";
                        jdata            = JSONHelper.ReadData(inputFile);

                        foreach (string quest in jdata.Questions)
                        {
                            pageTextBox.AppendText(quest + "\n");
                            pageTextBox.AppendText("\n");
                        }
                    }
                    else if (pagesListBox.SelectedItem.ToString() == "Responses")
                    {
                        temp             = 0;
                        pageTextBox.Text = "";
                        jdata            = JSONHelper.ReadData(inputFile);
                        foreach (string resp in jdata.Responses)
                        {
                            pageTextBox.AppendText(resp + "\n");
                            pageTextBox.AppendText("\n");
                        }
                    }
                    else if (pagesListBox.SelectedItem.ToString() == "Contacts")
                    {
                        temp             = 0;
                        pageTextBox.Text = "";
                        jdata            = JSONHelper.ReadData(inputFile);
                        foreach (string con in jdata.Contacts)
                        {
                            pageTextBox.AppendText(con + "\n");
                            temp++;
                            if (temp % 2 == 0)
                            {
                                pageTextBox.AppendText("\n");
                            }
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Please select a file to open first.");
            }
        }
Exemplo n.º 2
0
        private void openMenuItemClick(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();

            ofd.InitialDirectory = "C:\\";
            ofd.Filter           = "JSON files (*.json)|*.json|All files (*.*)|*.*";
            ofd.FilterIndex      = 0;
            ofd.RestoreDirectory = true;

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                inputFile  = ofd.FileName;
                fileLoaded = true;
            }
            Console.Error.WriteLine("Opened file: {0}", inputFile);

            if (inputFile != null)
            {
                fileLoaded = true;
                jdata      = JSONHelper.ReadData(inputFile);

                if (jdata.Questions != null && jdata.Responses != null &&
                    jdata.Error != null && jdata.Contacts != null)
                {
                    validFile   = true;
                    validObject = true;

                    temp = jdata;

                    pagesListBox.SelectedItem = "Questions";
                }
                else
                {
                    MessageBox.Show("The selected file is empty or\n not formatted correctly.");
                    inputFile = null;
                    jdata     = null;

                    validFile   = false;
                    validObject = false;
                }
            }
        }
Exemplo n.º 3
0
        public static void WriteData(string outFilename, JData jData)
        {
            StringBuilder sb = new StringBuilder();
            StringWriter  sw = new StringWriter(sb);

            try
            {
                using (JsonWriter jWriter = new JsonTextWriter(sw))
                {
                    jWriter.Formatting = Formatting.Indented;
                    jWriter.WriteStartObject();

                    /* START writing properties to file */

                    // write questions
                    jWriter.WritePropertyName("Questions");
                    jWriter.WriteStartArray();
                    foreach (string q in jData.Questions)
                    {
                        if (String.IsNullOrWhiteSpace(q) != true)
                        {
                            jWriter.WriteValue(q);
                        }
                    }
                    jWriter.WriteEndArray();
                    // write responses
                    jWriter.WritePropertyName("Responses");
                    jWriter.WriteStartArray();
                    foreach (string r in jData.Responses)
                    {
                        if (String.IsNullOrWhiteSpace(r) != true)
                        {
                            jWriter.WriteValue(r);
                        }
                    }
                    jWriter.WriteEndArray();
                    // write error messages
                    jWriter.WritePropertyName("Error");
                    jWriter.WriteStartArray();
                    foreach (string e in jData.Error)
                    {
                        if (String.IsNullOrWhiteSpace(e) != true)
                        {
                            jWriter.WriteValue(e);
                        }
                    }
                    jWriter.WriteEndArray();
                    // write contacts
                    jWriter.WritePropertyName("Contacts");
                    jWriter.WriteStartArray();

                    int tempContacts = 0;

                    foreach (string c in jData.Contacts)
                    {
                        if (String.IsNullOrWhiteSpace(c) != true)
                        {
                            if (tempContacts % 2 == 0)
                            {
                                jWriter.WriteStartObject();
                                jWriter.WritePropertyName("text");
                                jWriter.WriteValue(c);
                            }
                            else if (tempContacts % 2 != 0)
                            {
                                jWriter.WritePropertyName("phone");
                                jWriter.WriteValue(c);
                                jWriter.WriteEndObject();
                            }

                            tempContacts++;
                        }
                    }
                    jWriter.WriteEndArray();

                    /* END writing properties to file */
                    jWriter.WriteEndObject();
                }
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e.Message);
            }

            // write data to output file
            File.WriteAllText(outFilename, sb.ToString());
        }
Exemplo n.º 4
0
        public static JData ReadData(string filename)
        {
            JData         jData     = new JData();
            List <string> jsonItems = new List <string>();
            int           counter   = 1;

            try
            {
                using (JsonTextReader jr = new JsonTextReader(new StreamReader(filename)))
                {
                    while (jr.Read())
                    {
                        if (jr.Value != null)
                        {
                            if (jr.TokenType == JsonToken.String)
                            {
                                jsonItems.Add(jr.Value.ToString());
                            }

                            if (jr.TokenType == JsonToken.PropertyName)
                            {
                                if (jr.Value.ToString() == "Responses")
                                {
                                    jData.Questions = jsonItems.ToArray();
                                    jsonItems       = null;
                                    jsonItems       = new List <string>();
                                }
                                else if (jr.Value.ToString() == "Error")
                                {
                                    jData.Responses = jsonItems.ToArray();
                                    jsonItems       = null;
                                    jsonItems       = new List <string>();
                                }
                                else if (jr.Value.ToString() == "Contacts")
                                {
                                    if (counter == 1)
                                    {
                                        jData.Error = jsonItems.ToArray();
                                        jsonItems   = null;
                                        jsonItems   = new List <string>();
                                        counter++;
                                    }
                                }
                            }

                            /* This is required, because there is no other way to tell
                             * when the contacts section starts */
                            if (counter == 2)
                            {
                                // add items to contacts
                                jData.Contacts = jsonItems.ToArray();
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.Error.WriteLine("Could not read file.");
                Console.Error.WriteLine(e.Message);
            }

            return(jData);
        }