/// <inheritdoc/> public void ModSkiEquipment(SkiEquipment skiEquipmentToModify) { if (skiEquipmentToModify == null) { this.messengerService.Send("EDIT FAILED", "LogicResult"); return; } SkiEquipment clone2 = new SkiEquipment() { Name = skiEquipmentToModify.Name, Difficulty = skiEquipmentToModify.Difficulty, Manufacturer = skiEquipmentToModify.Manufacturer, Price = skiEquipmentToModify.Price, Size = skiEquipmentToModify.Size }; SkiEquipment clone = new SkiEquipment(); clone.CopyFrom(skiEquipmentToModify); if (this.editorService.EditSkiEquipment(clone) == true) { skiEquipmentToModify.CopyFrom(clone); var item = this.factory.Ctx.SkiEquipments.Where(x => clone2.Difficulty.ToString() == x.Difficulty && clone2.Size == x.Size && clone2.Price == x.Price && clone2.Manufacturer.ToString() == x.Manufacturer && clone2.Name == x.Name).SingleOrDefault(); item.Name = skiEquipmentToModify.Name; item.Manufacturer = skiEquipmentToModify.Manufacturer.ToString(); item.Size = skiEquipmentToModify.Size; item.Price = skiEquipmentToModify.Price; item.Difficulty = skiEquipmentToModify.Difficulty.ToString(); this.factory.Ctx.SaveChanges(); this.messengerService.Send("MODIFY OK", "LogicResult"); } else { this.messengerService.Send("MODIFY CANCEL", "LogicResult"); } }
/// <summary> /// Initializes a new instance of the <see cref="MainViewModel"/> class. /// </summary> /// <param name="skiEquipmentLogic">Logic of ski equipments.</param> public MainViewModel(ISkiEquipmentLogic skiEquipmentLogic) { this.logic = skiEquipmentLogic; this.Equipments = new ObservableCollection <SkiEquipment>(); if (this.IsInDesignMode) { SkiEquipment s1 = new SkiEquipment() { Name = "Supershape", Price = 300, Difficulty = DifficultyType.Advanced, Manufacturer = ManufacturerType.Rossignol }; SkiEquipment s2 = new SkiEquipment() { Name = "Redster", Price = 400, Size = 170, Manufacturer = ManufacturerType.Atomic }; this.Equipments.Add(s1); this.Equipments.Add(s2); } foreach (var item in this.logic.GetAllSkiEquipment()) { this.Equipments.Add(item); } this.AddCmd = new RelayCommand(() => this.logic.AddSkiEquipment(this.Equipments)); this.ModCmd = new RelayCommand(() => this.logic.ModSkiEquipment(this.EquipmentSelected)); this.DelCmd = new RelayCommand(() => this.logic.DeleteSkiEquipment(this.Equipments, this.EquipmentSelected)); }
/// <summary> /// Initializes a new instance of the <see cref="EditorViewModel"/> class. /// </summary> public EditorViewModel() { this.skiEquipment = new SkiEquipment(); if (this.IsInDesignMode) { this.skiEquipment.Name = "Unknown Ski"; this.skiEquipment.Price = 100; this.skiEquipment.Size = 150; } }
/// <inheritdoc/> public void DeleteSkiEquipment(IList <SkiEquipment> list, SkiEquipment skiEquipment) { if (skiEquipment != null && list != null && list.Remove(skiEquipment)) { var item = this.factory.Ctx.SkiEquipments.Where(x => x.Name == skiEquipment.Name && x.Manufacturer == skiEquipment.Manufacturer.ToString() && x.Price == skiEquipment.Price && x.Size == skiEquipment.Size && x.Price == skiEquipment.Price).SingleOrDefault(); this.factory.Ctx.SkiEquipments.Remove(item); this.factory.Ctx.SaveChanges(); this.messengerService.Send("DELETE OK", "LogicResult"); } else { this.messengerService.Send("DELETE FAILED", "LogicResult"); } }
/// <inheritdoc/> public IList <SkiEquipment> GetAllSkiEquipment() { IList <SkiEquipment> outp = new List <SkiEquipment>(); foreach (var item in this.factory.Ctx.SkiEquipments.ToList()) { SkiEquipment newSkiEquipment = new SkiEquipment(); if (item.Difficulty == "beginner") { newSkiEquipment.Difficulty = DifficultyType.Beginner; } if (item.Difficulty == "advanced") { newSkiEquipment.Difficulty = DifficultyType.Advanced; } if (item.Difficulty == "pro") { newSkiEquipment.Difficulty = DifficultyType.Pro; } if (item.Manufacturer == "Head") { newSkiEquipment.Manufacturer = ManufacturerType.Head; } if (item.Manufacturer == "Atomic") { newSkiEquipment.Manufacturer = ManufacturerType.Atomic; } if (item.Manufacturer == "Rossignol") { newSkiEquipment.Manufacturer = ManufacturerType.Rossignol; } newSkiEquipment.Name = item.Name; newSkiEquipment.Price = item.Price; newSkiEquipment.Size = item.Size; outp.Add(newSkiEquipment); } return(outp); }
/// <inheritdoc/> public void AddSkiEquipment(IList <SkiEquipment> list) { SkiEquipment newSkiEquipment = new SkiEquipment(); if (this.editorService.EditSkiEquipment(newSkiEquipment) == true) { list?.Add(newSkiEquipment); this.factory.Ctx.SkiEquipments.Add(new SkiRental.Data.SkiEquipments() { OrderId = 1, Name = newSkiEquipment.Name, Manufacturer = newSkiEquipment.Manufacturer.ToString(), Size = newSkiEquipment.Size, Price = newSkiEquipment.Price, Difficulty = newSkiEquipment.Difficulty.ToString() }); this.factory.Ctx.SaveChanges(); this.messengerService.Send("ADD OK", "LogicResult"); } else { this.messengerService.Send("ADD CANCEL", "LogicResult"); } }
/// <inheritdoc/> public bool EditSkiEquipment(SkiEquipment s) { EditorWindow win = new EditorWindow(s); return(win.ShowDialog() ?? false); }
/// <summary> /// Initializes a new instance of the <see cref="EditorWindow"/> class. /// </summary> /// <param name="oldSkiEquipment">Old ski equipment.</param> public EditorWindow(SkiEquipment oldSkiEquipment) : this() { this.vM.SkiEquipment = oldSkiEquipment; }