public void Save(NonTechVolunteer volunteer) { if (volunteer.Id == 0) { _dataContext.NonTechVolunteers.Add(volunteer); _dataContext.SaveChanges(); } if (volunteer.Id != 0 && volunteer.AreasOfExpertise != null && volunteer.AreasOfExpertise.Count > 0) { foreach (var volunteerExpertise in _dataContext.NonTechVolunteerExpertise.Where(vjr => vjr.VolunteerId == volunteer.Id)) { if (!volunteer.AreasOfExpertise.Any(jr => jr.Id == volunteerExpertise.ExpertiseId)) { _dataContext.NonTechVolunteerExpertise.Remove(volunteerExpertise); } } _dataContext.SaveChanges(); foreach (var expertise in volunteer.AreasOfExpertise.Where(jr => !_dataContext.NonTechVolunteerExpertise.Any(vjr => vjr.ExpertiseId == jr.Id))) { _dataContext.NonTechVolunteerExpertise.Add(new NonTechVolunteerExpertise() { VolunteerId = volunteer.Id, ExpertiseId = expertise.Id }); } _dataContext.SaveChanges(); } _dataContext.SaveChanges(); }
public void Save(NonTechVolunteer volunteer) { if (volunteer.Id == 0) { _dataContext.NonTechVolunteers.Add(volunteer); _dataContext.SaveChanges(); } if (volunteer.Id != 0 && volunteer.AreasOfExpertise != null && volunteer.AreasOfExpertise.Count > 0) { foreach (var volunteerExpertise in _dataContext.NonTechVolunteerExpertise.Where(vjr => vjr.VolunteerId == volunteer.Id)) { if (!volunteer.AreasOfExpertise.Any(jr => jr.Id == volunteerExpertise.ExpertiseId)) _dataContext.NonTechVolunteerExpertise.Remove(volunteerExpertise); } _dataContext.SaveChanges(); foreach (var expertise in volunteer.AreasOfExpertise.Where(jr => !_dataContext.NonTechVolunteerExpertise.Any(vjr => vjr.ExpertiseId == jr.Id))) { _dataContext.NonTechVolunteerExpertise.Add(new NonTechVolunteerExpertise() { VolunteerId = volunteer.Id, ExpertiseId = expertise.Id }); } _dataContext.SaveChanges(); } _dataContext.SaveChanges(); }
public static NonTechVolunteer MapToNonTechVolunteerModel(this NonTechVolunteerViewModel model) { var volunteer = new NonTechVolunteer { FirstName = model.FirstName, LastName = model.LastName, PhoneNumber = model.PhoneNumber, Email = model.Email, JobDescription = model.JobDescription, DietaryNeeds = model.DietaryNeeds, TwitterHandle = model.TwitterHandle, Bio = model.Bio, ShirtSize = model.ShirtSize, ShirtStyle = model.ShirtStyle, SkillSet = model.SkillsOutline, SessionDetails = model.ExpertiseTopic }; return(volunteer); }