예제 #1
0
        public void ParseFromFullString(string imported)
        {
            values = new List <double[]>();
            times  = new List <DateTime>();

            if (imported == null)
            {
                return;
            }
            if (imported.Length < 1)
            {
                return;
            }

            var sreader    = new StringReader(imported);
            var collection = TimeSeries.GetTSFromReader(sreader, true);
            var mv         = new MVTimeSeries(collection, false);

            values    = mv.values;
            times     = mv.times;
            Title     = mv.Title;
            SubTitle  = mv.SubTitle;
            Dimension = mv.Dimension;
        }
예제 #2
0
        public override bool RefreshFromSource(out string infoMsg)
        {
            // load from file
            //Data = null;
            //infoMsg = "Failure";
            //return false;

            infoMsg = "Failure";
            if (string.IsNullOrEmpty(FileName))
            {
                return(false);
            }

            List <TimeSeries> collection = null;

            try
            {
                using (var fs = new FileStream(FileName, FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    try
                    {
                        using (var sreader = new StreamReader(fs))
                            collection = TimeSeries.GetTSFromReader(sreader, false);
                    }
                    catch (Exception loadException)
                    {
                        if (loadException.Message.Substring(0, 9) == "Duplicate")
                        {
                            var result = MessageBox.Show(loadException.Message + Environment.NewLine
                                                         + "Try again and ignore duplicates?", "Problem",
                                                         MessageBoxButtons.OKCancel);
                            if (result == DialogResult.OK)
                            {
                                using (
                                    var sreader =
                                        new StreamReader(new FileStream(FileName, FileMode.Open,
                                                                        FileAccess.Read, FileShare.Read)))
                                    collection = TimeSeries.GetTSFromReader(sreader, true);
                            }
                        }
                        else
                        {
                            collection = null;
                            infoMsg    = loadException.Message;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                infoMsg    = e.Message;
                collection = null;
                Data       = null;
            }
            if (collection != null)
            {
                infoMsg = "Success";
                if (collection.Count == 1)
                {
                    Data = collection[0];
                }
                else if (collection.Count > 1)
                {
                    Data = new MVTimeSeries(collection, false);
                }
                else
                {
                    infoMsg = "Failure";
                }
            }

            return(Data != null);
        }