private bool ValidateDrink() { PointInCode("DrinkViewModel: ValidateDrink"); bool valid = true; _dm = new DialogMessage("Drank niet in orde"); _dm.Nay = Visibility.Collapsed; if (string.IsNullOrEmpty(NewEditDrink.Name)) { valid = false; _dm.Errors.Add("De naam mag niet leeg zijn!"); } if (NewEditDrink.InitialPrice < NewEditDrink.MiniumPrice) { valid = false; _dm.Errors.Add("De beginprijs mag niet onder de minimumprijs liggen."); } if (NewEditDrink.MaximumPrice < NewEditDrink.InitialPrice) { valid = false; _dm.Errors.Add("De beginprijs mag niet boven de maximumprijs liggen."); } if (NewEditDrink.MiniumPrice > NewEditDrink.MaximumPrice) { valid = false; _dm.Errors.Add("De minimumprijs mag niet boven de maximumprijs liggen."); } if (!valid) { _dm.AnswerChanged += ErrorMessage_AnswerChanged; MessengerInstance.Send<DialogMessage>(_dm); SendLogMessage("Drink not valid, " + string.Join(";", _dm.Errors.ToArray()), LogType.USER_ERROR | LogType.DRINK_VM); } return valid; }
private void DownloadImage() { PointInCode("DrinkViewModel: DownloadImage"); Downloading = true; ThreadPool.QueueUserWorkItem(new WaitCallback((object target) => { try { string dateStamp = DateTime.Now.ToString("dd-MM-yyyy-hhmmss"); string originalPath = BeursfuifPaths.AssetsPath + dateStamp + "-original" + Path.GetExtension(this.DownloadUrl); string destinationPath = BeursfuifPaths.AssetsPath + dateStamp + ".png"; //Download image DownloadRemoteImageFile(this.DownloadUrl, originalPath); ResizeImage(originalPath, destinationPath); SendLogMessage("Image from internet downloaded and used for drink", LogType.DRINK_VM); } catch (Exception ex) { Console.WriteLine(ex.Message); _dm = new DialogMessage("Downloaden mislukt"); _dm.Nay = Visibility.Collapsed; _dm.Errors.Add("Geen geldige url of geen internettoegang"); MessengerInstance.Send<DialogMessage>(_dm); SendLogMessage("Image download failed, ex = " + ex.Message, LogType.ERROR | LogType.DRINK_VM); } })); Downloading = false; }
private void HandleErrorMessages(DialogMessage em) { ErrorMessage = em; _stateChanger.GoToState("FadeIn", true,"messageGrid"); }
private void ResetFuifData() { PointInCode("SettingsViewModel: ResetFuifData"); _dm = new DialogMessage(); if (BeursfuifBusy) { _dm.Title = "Fuif is nog bezig"; _dm.Errors.Add("Je kan geen reset uitvoeren zolang de fuif nog bezig is."); _dm.Nay = Visibility.Hidden; MessengerInstance.Send<DialogMessage>(_dm); return; } else { _dm.Title = "Ben je zeker?"; _dm.Errors.Add("Alles behalve de dranken zal verwijderd worden."); _dm.Errors.Add("De data is permanent weg."); _dm.Errors.Add("Doorgaan?"); _dm.Nay = Visibility.Visible; _dm.AnswerChanged += (s, b) => { if (b.Value) { _beursfuifData.ResetData(); SendLogMessage("Fuifdata removed", LogType.SETTINGS_VM); } }; MessengerInstance.Send<DialogMessage>(_dm); } }
private async void ResumeParty() { PointInCode("SettingsViewModel: ResumeParty"); SendLogMessage("Resuming party method", LogType.SETTINGS_VM); _beursfuifData.ChangeBeursfuifBusy(true); RaisePropertyChanged(BeursfuifBusyVisibilityPropertyName); _server.Active = true; bool succes = await _server.Start(); if(!succes) { _server.Active = false; _beursfuifData.ChangeBeursfuifBusy(false); RaisePropertyChanged(BeursfuifBusyVisibilityPropertyName); _dm = new DialogMessage("Kon de server niet opstarten"); _dm.Errors.Add("Werd het programma als administrator opgestart?"); _dm.Errors.Add("Is er netwerk beschikbaar?"); _dm.Answer = false; _dm.Nay = Visibility.Collapsed; MessengerInstance.Send<DialogMessage>(_dm); return; } if (_tmrMain == null) { //start timer _tmrMain = new System.Threading.Timer(MainTimer_Tick, null, 1000, 1000); } else { _tmrMain.Change(1000, 1000); } MainActionButtonContent = PAUSE_PARTY; SendToastMessage("Server restarted"); ThreadPool.QueueUserWorkItem(SaveSettings); }
private void GenerateIntervals() { PointInCode("IntervalViewModel: GenerateIntervals"); if (BeginTime.CompareTo(EndTime) == 1) { _dm = new DialogMessage("Begin ligt na einde"); _dm.Nay = System.Windows.Visibility.Collapsed; _dm.Errors.Add("De gewenste instelling is onmogelijk"); _dm.Errors.Add("Het begintijdstip moet plaats vinden voor het eindtijdstip"); MessengerInstance.Send<DialogMessage>(_dm); SendLogMessage("Error creating Intervals, begin is greater than end", LogType.INTERVAL_VM | LogType.USER_ERROR); return; } //Validate if the hours and interval match TimeSpan period = EndTime.Subtract(BeginTime); int numberOfIntervals = 0; if(int.TryParse(""+(period.TotalMinutes / ChosenInterval.TotalMinutes),out numberOfIntervals)) { Task.Factory.StartNew(CreateIntervals, numberOfIntervals); return; } //else throw a message that the settings aren't correct Console.WriteLine("Error"); _dm = new DialogMessage("Het is onmogelijk om intervallen aan te maken."); _dm.Nay = System.Windows.Visibility.Collapsed; _dm.Errors.Add("Het is onmogelijk om een geheel aantal intervallen van \n\r" + ChosenInterval.TotalMinutes + " min aan te maken tussen "+ BeginTime.ToShortTimeString() + " en " + EndTime.ToShortTimeString() + "."); MessengerInstance.Send<DialogMessage>(_dm); SendLogMessage("Error creating Intervals, " + string.Join(";", _dm.Errors.ToArray()), LogType.INTERVAL_VM | LogType.USER_ERROR); }