Exemplo n.º 1
0
        public ArrayList parseLoginJSONString(string JSONString)
        {
            ArrayList ArrayToReturn = new ArrayList();
            ArrayList DeserializedJSONList;

            MainModel.JSONHeader header    = parseJSONHeader(JSONString);
            MainModel.LoginItem  loginItem = new MainModel.LoginItem("", "");
            string temp2;

            char[] temp;

            temp    = JSONString.ToCharArray();
            temp[0] = '[';
            temp[temp.Length - 1] = ']';
            temp2 = "";

            foreach (char c in temp)
            {
                temp2 += c;
            }

            DeserializedJSONList = JsonConvert.DeserializeObject <ArrayList>(temp2);

            if (DeserializedJSONList != null)
            {
                foreach (object item in DeserializedJSONList)
                {
                    foreach (JProperty jobj in (IList)item)
                    {
                        switch (jobj.Name)
                        {
                        case "loginname":
                            loginItem.loginname = jobj.Value.ToString();

                            break;

                        case "password":
                            loginItem.password = jobj.Value.ToString();

                            break;
                        }
                    }
                }

                ArrayToReturn.Add(header);
                ArrayToReturn.Add(loginItem);
                return(ArrayToReturn);
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 2
0
        public ArrayList parseDataJSONString(string JSONString)
        {
            ArrayList ArrayToReturn = new ArrayList();
            ArrayList DeserializedJSONList;

            MainModel.JSONHeader header = parseJSONHeader(JSONString);
            MainModel.JSONItem   jsonitem;
            string temp2;

            char[] temp;

            temp    = JSONString.ToCharArray();
            temp[0] = '[';
            temp[temp.Length - 1] = ']';
            temp2 = "";

            foreach (char c in temp)
            {
                temp2 += c;
            }

            DeserializedJSONList = JsonConvert.DeserializeObject <ArrayList>(temp2);

            if (DeserializedJSONList != null)
            {
                foreach (object item in DeserializedJSONList)
                {
                    if (item != DeserializedJSONList[0])
                    {
                        jsonitem         = new MainModel.JSONItem(DateTime.Now, '0', 0, null);
                        jsonitem.meeting = new List <MainModel.MeetingObject>();

                        foreach (JProperty jobj in (IList)item)
                        {
                            switch (jobj.Name)
                            {
                            case "date":
                                try
                                {
                                    jsonitem.date = DateTime.Parse(jobj.Value.ToString());
                                }
                                catch (FormatException)
                                {
                                    MessageBox.Show("Datum-Format ist falsch!", "Parsing-Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                                }

                                break;

                            case "lateness":
                                try
                                {
                                    jsonitem.lateness = int.Parse(jobj.Value.ToString());
                                }
                                catch (FormatException)
                                {
                                    MessageBox.Show("Format für die Verspätungen ist falsch!", "Parsing-Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                                }

                                break;

                            case "initial":
                                try
                                {
                                    jsonitem.initial = char.Parse(jobj.Value.ToString());
                                }
                                catch (FormatException)
                                {
                                    MessageBox.Show("Format für die Anwesenheit ist falsch!", "Parsing-Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                                }

                                break;

                            case "meeting":
                                bool isNull = false;

                                foreach (object array in jobj)
                                {
                                    int i = 0;

                                    if (array.GetType() == typeof(JValue))
                                    {
                                        if (((JValue)array).Value == null)
                                        {
                                            isNull = true;
                                        }
                                        else
                                        {
                                            foreach (JObject arrayItem in (JValue)array)
                                            {
                                                foreach (JProperty innerItem in (IList)arrayItem)
                                                {
                                                    switch (innerItem.Name)
                                                    {
                                                    case "time":
                                                        try
                                                        {
                                                            jsonitem.meeting.ElementAt(i).time = DateTime.Parse(innerItem.Value.ToString());
                                                        }
                                                        catch (FormatException)
                                                        {
                                                            MessageBox.Show("Datum-Format ist falsch!", "Parsing-Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                                                        }

                                                        break;

                                                    case "sender":
                                                        jsonitem.meeting.ElementAt(i).sender = innerItem.Value.ToString();

                                                        break;

                                                    case "subject":
                                                        jsonitem.meeting.ElementAt(i).subject = innerItem.Value.ToString();

                                                        break;

                                                    case "info":
                                                        jsonitem.meeting.ElementAt(i).info = innerItem.Value.ToString();

                                                        break;
                                                    }
                                                }

                                                i++;
                                            }
                                        }
                                    }
                                    else
                                    {
                                        if (((JArray)array).Count < 1)
                                        {
                                            isNull = true;
                                        }
                                        else
                                        {
                                            foreach (JObject arrayItem in (JArray)array)
                                            {
                                                jsonitem.meeting.Add(new MainModel.MeetingObject(DateTime.Now, "", "", ""));

                                                foreach (JProperty innerItem in (IList)arrayItem)
                                                {
                                                    switch (innerItem.Name)
                                                    {
                                                    case "time":
                                                        try
                                                        {
                                                            jsonitem.meeting.ElementAt(i).time = DateTime.Parse(innerItem.Value.ToString());
                                                        }
                                                        catch (FormatException)
                                                        {
                                                            MessageBox.Show("Datum-Format ist falsch!", "Parsing-Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                                                        }

                                                        break;

                                                    case "sender":
                                                        jsonitem.meeting.ElementAt(i).sender = innerItem.Value.ToString();

                                                        break;

                                                    case "subject":
                                                        jsonitem.meeting.ElementAt(i).subject = innerItem.Value.ToString();

                                                        break;

                                                    case "info":
                                                        jsonitem.meeting.ElementAt(i).info = innerItem.Value.ToString();

                                                        break;
                                                    }
                                                }

                                                i++;
                                            }
                                        }
                                    }
                                }

                                if (isNull)
                                {
                                    jsonitem.meeting = null;
                                }

                                break;
                            }
                        }

                        ArrayToReturn.Add(jsonitem);
                    }
                    else
                    {
                        ArrayToReturn.Add(header);
                    }
                }

                return(ArrayToReturn);
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 3
0
        private MainModel.JSONHeader parseJSONHeader(string JSONString)
        {
            ArrayList DeserializedJSONList;

            MainModel.JSONHeader header = new MainModel.JSONHeader(new byte[] { 0, 0, 0, 0 }, 0, MainModel.TransmissionReason.ReceiveAccountData);
            string temp2;

            char[] temp;

            temp    = JSONString.ToCharArray();
            temp[0] = '[';
            temp[temp.Length - 1] = ']';
            temp2 = "";

            foreach (char c in temp)
            {
                temp2 += c;
            }

            DeserializedJSONList = JsonConvert.DeserializeObject <ArrayList>(temp2);

            if (DeserializedJSONList != null)
            {
                foreach (object item in DeserializedJSONList)
                {
                    foreach (JProperty jobj in (IList)item)
                    {
                        switch (jobj.Name)
                        {
                        case "sender":
                            try
                            {
                                IPAddress.Parse(jobj.Value.ToString());
                                header.sender = jobj.Value.ToString();
                            }
                            catch (FormatException)
                            {
                                MessageBox.Show("IP-Format ist falsch!", "Parsing-Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                            }

                            break;

                        case "port":
                            try
                            {
                                header.port = short.Parse(jobj.Value.ToString());
                            }
                            catch (FormatException)
                            {
                                MessageBox.Show("Der Port konnte nicht ermittelt werden!", "Parsing-Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                            }

                            break;

                        case "reason":
                            header.reason = jobj.Value.ToString() == "Account" ? "Account" : "ReceiveData";

                            break;
                        }
                    }
                }

                return(header);
            }
            else
            {
                return(null);
            }
        }