public async Task Add(InternshipApplicationViewModel appForm) { var app = _dbContext.InternshipApplications.FirstOrDefault(a => a.UserId == appForm.UserId); var languages = appForm.SelectedLanguages; var technologies = appForm.SelectedTechnologies; if (app == null) { var newApp = new DataAccess.InternshipApplication { UserId = appForm.UserId, Name = appForm.Name, Surname = appForm.Surname, PhoneNumber = appForm.PhoneNumber, PersonalProjects = appForm.PersonalProjects, University = appForm.University, Faculty = appForm.Faculty, StudyYear = appForm.StudyYear, WantsToBeHired = appForm.WantsToBeHired, RecommendForInternship = appForm.RecommendForInternship, Status = "Pending", ScheduleDate = "Not scheduled" }; foreach (var langId in languages) { var language = _dbContext.Languages.FirstOrDefault(l => l.Id == langId); newApp.Languages.Add(language); } foreach (var techId in technologies) { var technology = _dbContext.Technologies.FirstOrDefault(l => l.Id == techId); newApp.Technologies.Add(technology); } _dbContext.InternshipApplications.Add(newApp); await _dbContext.SaveChangesAsync(); } else { throw new Exception(); } }
public async Task UpdateUser(UserViewModel userForm) { var user = _dbContext.AspNetUsers.FirstOrDefault(u => u.Id == userForm.Id); var role = _dbContext.AspNetRoles.FirstOrDefault(r => r.Id == userForm.SelectedRoleId.ToString()); if (user != null) { user.Email = userForm.EmailAddres; user.UserName = userForm.UserName; user.AspNetRoles.Clear(); user.AspNetRoles.Add(role); } await _dbContext.SaveChangesAsync(); }