public void AddPTT(ProjectTechnologyTag projectTechnologyTag) { _ctx.ProjectTechnologyTags.Add(projectTechnologyTag); }
public async Task <IActionResult> Edit(ProjectViewModel vm) { var project = new Project { Id = vm.Id, Title = vm.Title, Summary = vm.Summary, Body = vm.Body, IsCommercial = vm.IsCommercial, IsWebProject = vm.IsWebProject }; if (vm.Image == null) { project.Image = vm.CurrentImage; } else { if (!string.IsNullOrEmpty(vm.CurrentImage)) { _fileManager.RemoveImage(vm.CurrentImage); } project.Image = await _fileManager.SaveImage(vm.Image); } if (project.Id > 0) { _projectRepo.UpdateProject(project); } else { _projectRepo.AddProject(project); } var aaa = _repoptt.GetAllPTT(); foreach (var tag in vm.AvailableTechnologyTags) { var bbb = new ProjectTechnologyTag { ProjectID = project.Id, TechnologyTagID = tag.Id }; if (aaa.Any(x => x.ProjectID == bbb.ProjectID && x.TechnologyTagID == bbb.TechnologyTagID) && tag.Selected == false) { _repoptt.RemovePTT(bbb.ProjectID, bbb.TechnologyTagID); } else if (!aaa.Any(x => x.ProjectID == bbb.ProjectID && x.TechnologyTagID == bbb.TechnologyTagID) && tag.Selected == true) { _repoptt.AddPTT(bbb); } } if (await _repo.SaveChangesAsync()) { return(Redirect($"/Portfolio/Project/{project.Id}")); } else { return(View(project)); } }