private void LoadData() { IsBusy = true; ViewModelLocator.CurrentInstance.AbstractTorqueData.LoadHomeData((success, eventMessages, result) => { if (success) { CarInfo = result; CarInfo.CostCharging = Decimal.Round((ElectricityPrice * CarInfo.TotalCharging) / 100, 2); CarInfo.CostFuel = Decimal.Round(FuelPrice * CarInfo.TotalFuelUsed, 2); CarInfo.TotalCost = Decimal.Round(CarInfo.CostFuel + CarInfo.CostCharging, 2); if (CarInfo.TotalKM != 0) { CarInfo.CostPer100KM = Decimal.Round((CarInfo.TotalCost / CarInfo.TotalKM) * 100, 2); } BasicLinesGVM.GraphConsumption(0, "Home$SerieFuelC", CarInfo.DateFuelConsumption, CarInfo.FuelConsumptionList); } else { VoltAnalyzerMessage.Send <string>(MessageConstants.ShowMessageView, eventMessages); } IsBusy = false; }, SelectedFolder); }
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); } }
public MessageDisplayVM() { CloseMessageCommand = new RelayCommand(CloseMessage); VoltAnalyzerMessage.Subscribe <string>(this, MessageConstants.ShowMessageView, (string _message) => { IsDisplayingMessage = true; Message = _message; }); }
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(); } }
private void DefaultDirectory() { try { ViewModelLocator.CurrentInstance.FileDialogVM.BrowseFolderCommand.Execute(null); if (!string.IsNullOrEmpty(ViewModelLocator.CurrentInstance.FileDialogVM.SelectedFolder)) { SelectedFolder = ViewModelLocator.CurrentInstance.FileDialogVM.SelectedFolder; } } catch (Exception ex) { VoltAnalyzerMessage.Send <string>(MessageConstants.ShowMessageView, "Error during the opening of the selected file: " + ex.Message + " " + ex.InnerException); } }
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 HomePVM() { LoadTorqueDataCommand = new RelayCommand(LoadTorqueData); DefaultDirectoryCommand = new RelayCommand(DefaultDirectory); CloseCommand = new RelayCommand <IWindow>(Close); ExpandCommand = new RelayCommand <IWindow>(Expand); MinimizeCommand = new RelayCommand <IWindow>(Minimize); MoveCommand = new RelayCommand <IWindow>(Move); foreach (string item in LanguageManager.ManageLanguage.GetAllLanguages()) { LanguageList.Add(new LanguageSelectorVM(item)); } SelectedLanguage = LanguageList[1]; RaisePropertyChanged("LanguageList"); if (ConfigurationManager.AppSettings.AllKeys.Contains("SelectedFolder")) { SelectedFolder = ConfigurationManager.AppSettings.GetValues("SelectedFolder")[0].ToString(); } if (ConfigurationManager.AppSettings.AllKeys.Contains("FuelPrice")) { FuelPrice = decimal.Parse(ConfigurationManager.AppSettings.GetValues("FuelPrice")[0].ToString(), CultureInfo.InvariantCulture); } if (ConfigurationManager.AppSettings.AllKeys.Contains("ElectricityPrice")) { ElectricityPrice = decimal.Parse(ConfigurationManager.AppSettings.GetValues("ElectricityPrice")[0].ToString(), CultureInfo.InvariantCulture); } VoltAnalyzerMessage.Subscribe <string>(this, MessageConstants.SetBusyMessage, (string Message) => { WaitMessage = Message; }); VoltAnalyzerMessage.Subscribe <string>(this, MessageConstants.ChangeGraph, (string a_type) => { switch (a_type) { case "FuelC": BasicLinesGVM.GraphConsumption(0, "Home$SerieFuelC", CarInfo.DateFuelConsumption, CarInfo.FuelConsumptionList); break; case "EVC": BasicLinesGVM.GraphConsumption(8, "Home$SerieEVC", CarInfo.DateEVConsumption, CarInfo.EVConsumptionList); break; default: break; } }); GraphListGVM.Add(new GraphListVM() { ID = "FuelC", Name = "Fuel consumption" }); GraphListGVM.Add(new GraphListVM() { ID = "EVC", Name = "EV consumption" }); }
private void ChangeGraph(string a_type) { VoltAnalyzerMessage.Send <string>(MessageConstants.ChangeGraph, a_type); }