示例#1
0
        public override void LoadHomeData(LoadHomeDataCallBack a_processResult, string a_directory)
        {
            string s_message = "";

            GetSettingGroupAverageConsumption();

            if (DataLoaded == false)
            {
                s_message = LoadData(a_directory);

                if (string.IsNullOrEmpty(s_message))
                {
                    DataLoaded = true;
                }
            }
            else
            {
                ResetAllProperties();
            }

            if (string.IsNullOrEmpty(s_message))
            {
                VoltAnalyzerMessage.Send <string>(MessageConstants.SetBusyMessage, ManageLanguage.GetLanguageString("Home$ProcessingBusyMessage", ManageLanguage.LanguageSelected));

                AverageConsumptionResponce avr_result = AverrageConsumption();

                a_processResult(true, "", avr_result.ModelToViewModel());
            }
            else
            {
                a_processResult(false, s_message, null);
            }
        }
示例#2
0
 private void LoadTorqueData()
 {
     if (string.IsNullOrEmpty(SelectedFolder))
     {
         VoltAnalyzerMessage.Send <string>(MessageConstants.ShowMessageView, ManageLanguage.GetLanguageString("Home$FodlerEmpty", ManageLanguage.LanguageSelected));
     }
     else
     {
         var task = new Task(LoadData);
         task.Start();
     }
 }
示例#3
0
        private static DataTable ReadCSVFile(String filePath)
        {
            DataTable dataTable = new DataTable();

            // Check if file exists.
            if (File.Exists(filePath))
            {
                // Read column headers from file
                CsvReader csv = new CsvReader(File.OpenText(filePath));
                csv.Read();
                csv.ReadHeader();
                csv.Configuration.MissingFieldFound = null;

                dataTable.TableName = filePath.Split('\\')[filePath.Split('\\').Length - 1];

                String tryparse = dataTable.TableName.Replace("trackLog-", "").Replace(".csv", "");
                dataTable.ExtendedProperties.Add("Datetime", DateTime.ParseExact(tryparse, "yyyy-MMM-dd_HH-mm-ss", CultureInfo.InvariantCulture));

                List <string> headers = csv.Context.HeaderRecord.ToList();

                // Read csv into datatable
                foreach (string header in headers)
                {
                    dataTable.Columns.Add(new System.Data.DataColumn(header));
                }

                // Import csv
                while (csv.Read())
                {
                    System.Data.DataRow row = dataTable.NewRow();

                    foreach (System.Data.DataColumn column in dataTable.Columns)
                    {
                        row[column.ColumnName] = csv.GetField(column.DataType, column.ColumnName);
                    }

                    dataTable.Rows.Add(row);
                }

                Trace.Write(amountFile.ToString() + " File " + dataTable.TableName + " loaded into datatable" + Environment.NewLine);
                amountFile += 1;

                VoltAnalyzerMessage.Send <string>(MessageConstants.SetBusyMessage, ManageLanguage.GetLanguageString("Home$BusyMessage", ManageLanguage.LanguageSelected).Replace("XX", amountFile.ToString()));
            }

            return(dataTable);
        }
        public ViewModelLocator()
        {
            CurrentInstance = this;

            if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "Texts.xml"))
            {
                ManageLanguage.loadXml(File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "Texts.xml"));
                ManageLanguage.ChangeLanguage("ENG");
            }

            ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);

            SimpleIoc.Default.Register <AbstractTorqueData, TorqueData>();

            SimpleIoc.Default.Register <HomePVM>();
            SimpleIoc.Default.Register <MessageDisplayVM>();
            SimpleIoc.Default.Register <FileDialogVM>();
        }
示例#5
0
        public void GraphConsumption(int a_min, string codeText, List <string> a_dateConsumption, List <decimal> a_consumptionList)
        {
            if (a_consumptionList.Count() != 0)
            {
                LabelsX = new List <string>(a_dateConsumption.AsEnumerable());
                MaxY    = a_consumptionList.Max() + 2;
                MinY    = a_min;

                MaxX = a_dateConsumption.Count() - 1;
                MinX = a_dateConsumption.Count() - 16;

                Series = new LiveCharts.ChartValues <decimal>(a_consumptionList.AsEnumerable());
                Title  = ManageLanguage.GetLanguageString(codeText, ManageLanguage.LanguageSelected);

                var mapper1 = new CartesianMapper <double>()
                              .X((value, index) => index)  //use the index as X
                              .Y((value, index) => value); //use the value as Y
                LiveCharts.Charting.For <double>(mapper1, SeriesOrientation.Horizontal);
            }
        }
示例#6
0
        public static string ReadFilesInDirectory(String directory)
        {
            allCSV = new List <DataTable>();

            if (Directory.Exists(directory))
            {
                Parallel.ForEach(Directory.EnumerateFiles(directory, "*.csv").ToList(), (source) =>
                {
                    allCSV.Add(ReadCSVFile(source));
                });

                allCSV = allCSV.OrderBy(x => x.ExtendedProperties["Datetime"]).ToList();
            }
            else
            {
                return(ManageLanguage.GetLanguageString("Home$FolderDoesntExist", ManageLanguage.LanguageSelected));
            }

            return("");
        }