Beispiel #1
0
        private void InsertIntoList(SdCardMessageModel message, int index)
        {
            if (index > 250)
            {
                Debug.WriteLine("sd message index out of range, skipped");
                return;
            }

            var insertAt = (index == -1) ? Messages.Count : index;

            var newmodel = new SdCardMessageModel()
            {
                Location     = message.Location,
                LongFileName = message.LongFileName,
            };

            if (insertAt > ControlMessages.Count)
            {
                insertAt = ControlMessages.Count;
            }
            ControlMessages.Insert(insertAt, newmodel);

            var newmes = new SdMessageViewModel(newmodel);

            newmes.RemoveThis = () =>
            {
                Messages.Remove(newmes);
                ControlMessages.Remove(newmes.DataModel);
            };
            Messages.Insert(insertAt, newmes);
        }
Beispiel #2
0
        /// <summary>
        /// Add a range of messages to the list
        /// </summary>
        /// <param name="paths">Path and filename of message to add</param>
        public void AddMessages(IEnumerable <string> paths)
        {
            //var list = _card == 0 ? ProjectData.MessagesA : ProjectData.MessagesB;
            var errorText = new StringBuilder();

            foreach (var path in paths)
            {
                var z = path.ToLower();

                if (z.ToLower().Contains("16khz"))
                {
                    errorText.AppendLine(SdMessageCard.Error16KhzIsAllreadyAdded);
                    continue;
                }
                if (!z.EndsWith(".mp3"))
                {
                    errorText.AppendLine(SdMessageCard.ErrorAddFileMp3Extension);
                    continue;
                }

                var model = new SdCardMessageModel {
                    Location = path
                };


                InsertIntoList(model, -1);
            }

            if (errorText.Length > 0)
            {
                Application.Current.Dispatcher.Invoke(new Action(() => MessageBox.Show(errorText.ToString(), SdMessageCard.ErrorAddFileTitle,
                                                                                       MessageBoxButton.OK, MessageBoxImage.Error)));
            }
        }
Beispiel #3
0
 public SdMessageViewModel(SdCardMessageModel model)
 {
     _model = model;
 }