private void Duplicate()
        {
            StockComponent duplicate = (StockComponent)_selectedStockComponent.Clone();

            ConnectionService.Instance.proxy.DuplicateStockComponent(duplicate);
            Initialize();
            LogMsg = "Duplicated selected entry.";
            LogService.Instance.LogInformation("Duplicated selected entry.");
        }
Пример #2
0
        public StockComponent AddStockComponent(StockComponent stockComponent)
        {
            using (var dbContext = new ComputerPartsDBContext())
            {
                StockComponent addedStComponent = dbContext.StockComponents.Add(stockComponent);
                dbContext.SaveChanges();

                return(addedStComponent);
            }
        }
Пример #3
0
        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;
            }
        }
Пример #7
0
        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);
                }
            }
        }
Пример #8
0
        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;
            }
        }
Пример #10
0
        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;
            }
        }
Пример #11
0
 public bool EditStockComponent(StockComponent stockComponent)
 {
     return(ComputerPartsRepository.Instance.EditStockComponent(stockComponent));
 }
Пример #12
0
 public bool DuplicateStockComponent(StockComponent stockComponent)
 {
     return(ComputerPartsRepository.Instance.DuplicateComponent(stockComponent));
 }
Пример #13
0
 public bool DeleteStockComponent(StockComponent stockComponent)
 {
     return(ComputerPartsRepository.Instance.RemoveStockComponent(stockComponent));
 }
Пример #14
0
 public StockComponent AddStockComponent(StockComponent stock)
 {
     return(ComputerPartsRepository.Instance.AddStockComponent(stock));
 }