private void Duplicate() { StockComponent duplicate = (StockComponent)_selectedStockComponent.Clone(); ConnectionService.Instance.proxy.DuplicateStockComponent(duplicate); Initialize(); LogMsg = "Duplicated selected entry."; LogService.Instance.LogInformation("Duplicated selected entry."); }
public StockComponent AddStockComponent(StockComponent stockComponent) { using (var dbContext = new ComputerPartsDBContext()) { StockComponent addedStComponent = dbContext.StockComponents.Add(stockComponent); dbContext.SaveChanges(); return(addedStComponent); } }
public bool DuplicateComponent(StockComponent component) { component.Id = new Guid(); using (var dbContext = new ComputerPartsDBContext()) { StockComponent stockComponent = dbContext.StockComponents.Add(component); dbContext.SaveChanges(); return(true); } }
private void Initialize(StockComponent stockComponent = null) { if (stockComponent == null) { stockComponent = RuntimeContext.selectedComponent; } if (stockComponent != null) { Name = stockComponent.M_Component.Name; Model = stockComponent.M_Component.Model; Count = stockComponent.Count.ToString(); ComponentType = stockComponent.Type; Location = stockComponent.PhysicalLocation; Price = stockComponent.M_Component.Price.ToString(); switch (stockComponent.Type) { case "GPU": InputOne = ((GPU)stockComponent.M_Component).Memory; InputTwo = ((GPU)stockComponent.M_Component).Speed; break; case "CPU": InputTwo = ((CPU)stockComponent.M_Component).Cores.ToString(); InputOne = ((CPU)stockComponent.M_Component).Speed; break; case "RAM": InputTwo = ((RAM)stockComponent.M_Component).Size; InputOne = ((RAM)stockComponent.M_Component).RamType; break; case "Case": InputOne = ((Case)stockComponent.M_Component).CaseType; break; case "Motherboard": InputOne = ((MotherBoard)stockComponent.M_Component).Socket; break; case "Memory": InputOne = ((Memory)stockComponent.M_Component).MemoryType; InputTwo = ((Memory)stockComponent.M_Component).Size; break; } } }
private void Undo() { if (RuntimeContext.commands.Count == 0) { LogService.Instance.LogError("Undo failed."); return; } else if (RuntimeContext.commands.Last().Equals("delete") && RuntimeContext.deletedStockComponent == null) { LogService.Instance.LogError("Undo failed."); return; } else if (RuntimeContext.commands.Last().Equals("added") && RuntimeContext.addedStockComponent == null) { LogService.Instance.LogError("Undo failed."); return; } else { var operation = RuntimeContext.commands.Last(); RuntimeContext.commands.RemoveAt(RuntimeContext.commands.Count - 1); if (RuntimeContext.commands.Count > 0) { RuntimeContext.commands.Clear(); } switch (operation) { case "delete": ConnectionService.Instance.proxy.AddComponent(RuntimeContext.deletedStockComponent.M_Component); StockComponent stCmp = ConnectionService.Instance.proxy.AddStockComponent(RuntimeContext.deletedStockComponent); RuntimeContext.addedStockComponent = stCmp; RuntimeContext.commands.Add("added"); break; case "added": ConnectionService.Instance.proxy.DeleteStockComponent(RuntimeContext.addedStockComponent); ConnectionService.Instance.proxy.DeleteComponent(RuntimeContext.addedStockComponent.M_Component); RuntimeContext.deletedStockComponent = RuntimeContext.addedStockComponent; RuntimeContext.commands.Add("delete"); break; } } Initialize(); LogService.Instance.LogInformation("Undo executed."); LogMsg = "Undo."; }
private void AddItem() { if (CheckNumbers() && SelectedComponent != null) { var type = ""; if (SelectedComponent.GetType().Name.Equals("MotherBoard")) { type = "Motherboard"; } else { type = SelectedComponent.GetType().Name; } StockComponent component = new StockComponent { Count = Int32.Parse(Count), PhysicalLocation = Location, Type = type }; Component cmp = SelectedComponent; cmp.Id = new Guid(); component.M_Component = cmp; ConnectionService.Instance.proxy.AddComponent(cmp); component.Id = new Guid(); RuntimeContext.addedStockComponent = ConnectionService.Instance.proxy.AddStockComponent(component); RuntimeContext.msgLabel = "New stock item added to db."; RuntimeContext.commands.Add("added"); LogService.Instance.LogInformation("New stock component added to db."); MainWindowViewModel.Instance.OnNav("data"); } else { LogService.Instance.LogError("Wrong parameters."); MsgLabel = "Wrong number input."; return; } }
public bool RemoveStockComponent(StockComponent stockComponent) { using (var dbContext = new ComputerPartsDBContext()) { bool isInDb = dbContext.StockComponents.Any(c => c.Id == stockComponent.Id); if (isInDb) { var remove = dbContext.StockComponents.FirstOrDefault(c => c.Id == stockComponent.Id); dbContext.StockComponents.Remove(remove); dbContext.SaveChanges(); return(true); } else { return(false); } } }
public bool EditStockComponent(StockComponent stockComponent) { using (var dbContext = new ComputerPartsDBContext()) { var isInDb = dbContext.StockComponents.Any(c => c.Id == stockComponent.Id); if (isInDb) { var component = dbContext.StockComponents.FirstOrDefault(c => c.Id == stockComponent.Id); component.Count = stockComponent.Count; component.PhysicalLocation = stockComponent.PhysicalLocation; component.M_Component = stockComponent.M_Component; component.Type = stockComponent.Type; dbContext.SaveChanges(); return(true); } else { return(false); } } }
private void AddItem() { if (CheckNumbers()) { StockComponent component = new StockComponent { Id = RuntimeContext.selectedComponent.Id, Count = Int32.Parse(Count), PhysicalLocation = Location, Type = ComponentType }; Component newComponent = null; switch (_componentType) { case "GPU": newComponent = new GPU { Model = Model, Name = Name, Memory = InputOne, Speed = InputTwo }; break; case "CPU": newComponent = new CPU { Model = Model, Name = Name, Cores = Int32.Parse(InputTwo), Speed = InputOne }; break; case "RAM": newComponent = new RAM { Model = Model, Name = Name, Size = InputTwo, RamType = InputOne }; break; case "Case": newComponent = new Case { Model = Model, Name = Name, CaseType = InputOne }; break; case "Motherboard": newComponent = new MotherBoard { Model = Model, Name = Name, Socket = InputOne }; break; case "Memory": newComponent = new Memory { Model = Model, Name = Name, MemoryType = InputOne, Size = InputTwo }; break; } decimal help; decimal.TryParse(Price, out help); newComponent.Price = help; newComponent.Id = RuntimeContext.selectedComponent.M_Component.Id; var editComp = ConnectionService.Instance.proxy.EditComponent(newComponent); component.M_Component = newComponent; var editStock = ConnectionService.Instance.proxy.EditStockComponent(component); if (editComp && editStock) { RuntimeContext.msgLabel = "Edited stock item added to db."; MainWindowViewModel.Instance.OnNav("data"); LogService.Instance.LogInformation("Edited stock item added to db."); } else { LogService.Instance.LogError("Selected item is no longer in base."); if (MessageBox.Show("Selected item is no longer in base. Do you wan't to add it?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.No) { RuntimeContext.msgLabel = "Item is not edited."; LogService.Instance.LogError("Item is not edited."); MainWindowViewModel.Instance.OnNav("data"); } else { ConnectionService.Instance.proxy.AddComponent(newComponent); ConnectionService.Instance.proxy.AddStockComponent(component); LogService.Instance.LogInformation("Edited stock item added to db."); RuntimeContext.msgLabel = "Edited stock item added to db."; MainWindowViewModel.Instance.OnNav("data"); } } } else { LogService.Instance.LogInformation("Wrong number input."); MsgLabel = "Wrong number input."; return; } }
private void AddItem() { if (CheckNumbers()) { StockComponent component = new StockComponent { Count = Int32.Parse(Count), PhysicalLocation = Location, Type = ComponentType }; Component newComponent = null; switch (_componentType) { case "GPU": newComponent = new GPU { Model = Model, Name = Name, Memory = InputOne, Speed = InputTwo }; break; case "CPU": newComponent = new CPU { Model = Model, Name = Name, Cores = Int32.Parse(InputTwo), Speed = InputOne }; break; case "RAM": newComponent = new RAM { Model = Model, Name = Name, Size = InputTwo, RamType = InputOne }; break; case "Case": newComponent = new Case { Model = Model, Name = Name, CaseType = InputOne }; break; case "Motherboard": newComponent = new MotherBoard { Model = Model, Name = Name, Socket = InputOne }; break; case "Memory": newComponent = new Memory { Model = Model, Name = Name, MemoryType = InputOne, Size = InputTwo }; break; } decimal help; decimal.TryParse(Price, out help); newComponent.Price = help; newComponent.Id = new Guid(); ConnectionService.Instance.proxy.AddComponent(newComponent); component.M_Component = newComponent; component.Id = new Guid(); RuntimeContext.addedStockComponent = ConnectionService.Instance.proxy.AddStockComponent(component); RuntimeContext.msgLabel = "New stock item added to db."; RuntimeContext.commands.Add("added"); LogService.Instance.LogInformation("New stock component added to db."); MainWindowViewModel.Instance.OnNav("data"); } else { LogService.Instance.LogError("Wrong parameters."); MsgLabel = "Wrong number input."; return; } }
public bool EditStockComponent(StockComponent stockComponent) { return(ComputerPartsRepository.Instance.EditStockComponent(stockComponent)); }
public bool DuplicateStockComponent(StockComponent stockComponent) { return(ComputerPartsRepository.Instance.DuplicateComponent(stockComponent)); }
public bool DeleteStockComponent(StockComponent stockComponent) { return(ComputerPartsRepository.Instance.RemoveStockComponent(stockComponent)); }
public StockComponent AddStockComponent(StockComponent stock) { return(ComputerPartsRepository.Instance.AddStockComponent(stock)); }