Ejemplo n.º 1
0
        private void UpdateStockEmployees(string[] selectedEmployees, Stock stockToUpdate)
        {
            if (selectedEmployees == null)
            {
                stockToUpdate.Positions = new List <Position>();
                return;
            }

            var selectedEmployeesHS = new HashSet <string>(selectedEmployees);
            var StockEmployees      = new HashSet <int>
                                          (stockToUpdate.Positions.Select(c => c.Employee.ID));

            foreach (var Employee in _context.Employees)
            {
                if (selectedEmployeesHS.Contains(Employee.ID.ToString()))
                {
                    if (!StockEmployees.Contains(Employee.ID))
                    {
                        stockToUpdate.Positions.Add(new Position {
                            StockID = stockToUpdate.ID, EmployeeID = Employee.ID
                        });
                    }
                }
                else
                {
                    if (StockEmployees.Contains(Employee.ID))
                    {
                        Position EmployeesToRemove = stockToUpdate.Positions.FirstOrDefault(i => i.EmployeeID == Employee.ID);
                        _context.Remove(EmployeesToRemove);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void UpdateContractParts(string[] selectedParts, Contract contractToUpdate)
        {
            if (selectedParts == null)
            {
                contractToUpdate.PartsInContr = new List <PartInContract>();
                return;
            }

            var selectedPartsHS = new HashSet <string>(selectedParts);
            var contractParts   = new HashSet <int>
                                      (contractToUpdate.PartsInContr.Select(c => c.Part.ID));

            foreach (var Part in _context.Parts)
            {
                if (selectedPartsHS.Contains(Part.ID.ToString()))
                {
                    if (!contractParts.Contains(Part.ID))
                    {
                        contractToUpdate.PartsInContr.Add(new PartInContract {
                            ContractID = contractToUpdate.ID, PartID = Part.ID
                        });
                    }
                }
                else
                {
                    if (contractParts.Contains(Part.ID))
                    {
                        PartInContract PartsToRemove = contractToUpdate.PartsInContr.FirstOrDefault(i => i.PartID == Part.ID);
                        _context.Remove(PartsToRemove);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> DeleteConfirmed(int id)
        {
            var employee = await _context.Employees.FindAsync(id);

            foreach (var pos in _context.Positions.Where(p => p.EmployeeID == id))
            {
                _context.Remove(pos);
            }
            _context.Employees.Remove(employee);
            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }