Exemple #1
0
        public IActionResult WorkersUpdate(int id, WorkerUpdateModel workerUpdateModel)
        {
            workerUpdateModel.Worker.Id = id;

            var specificWorkerCompetences = _context.Set <SpecificWorkerCompetencesModel>();
            var competences = _context.Set <CompetencesModel>();
            var oldSpecificWorkerCompetencesModels = specificWorkerCompetences.Where(x => x.WorkerId == id);

            specificWorkerCompetences.RemoveRange(oldSpecificWorkerCompetencesModels);

            foreach (var competenceId in workerUpdateModel.NewCompetencesIds)
            {
                var competence        = competences.Find(competenceId);
                var workerCompetences = new SpecificWorkerCompetencesModel
                {
                    Competence = competence,
                    Worker     = workerUpdateModel.Worker
                };
                workerUpdateModel.Worker.SpecificWorkerCompetencesModels.Add(workerCompetences);
                specificWorkerCompetences.Add(workerCompetences);
            }

            _context.Entry(workerUpdateModel.Worker.Position).State = EntityState.Modified;
            _context.Entry(workerUpdateModel.Worker).State          = EntityState.Modified;
            _context.SaveChanges();
            return(RedirectToAction("Workers"));
        }
Exemple #2
0
        public IActionResult WorkersUpdate(int id)
        {
            var worker      = _workerService.GetWorker(id);
            var competences = _context.Set <CompetencesModel>();
            WorkerUpdateModel workerUpdateModel = new WorkerUpdateModel {
                Worker = worker, Competences = competences.ToList()
            };

            return(View(workerUpdateModel));
        }