private static void NotWorkingUpdateOnNullOwnedType(DbContextOptions <CandidateDbContext> builderOptions) { long?candidateId = null; using (var dbContext = new CandidateDbContext(builderOptions)) { var candidate = new Candidate() { FirstName = "FirstName" }; dbContext.Add(candidate); dbContext.SaveChanges(); candidateId = candidate.Id; } using (var dbContext = new CandidateDbContext(builderOptions)) { var candidate = dbContext.Candidates.SingleOrDefault(c => c.Id == candidateId); if (candidate != null) { candidate.Address = new Address() { Street = "Street2", PostalCode = "Postal2" }; dbContext.SaveChanges(); } } }
public void Update(Candidate candidate) { using var context = new CandidateDbContext(_connectionString); context.Candidates.Attach(candidate); context.Entry(candidate).State = EntityState.Modified; context.SaveChanges(); }
public static void Initialize() { Database.SetInitializer(new DbInitializer()); using (var db = new CandidateDbContext()) { db.Database.Initialize(true); } }
public CandidateRepositoryTests() { var contextOptions = new DbContextOptionsBuilder <CandidateDbContext>() .UseSqlite("Data Source = test-database.db") .Options; _context = new CandidateDbContext(contextOptions); _repo = new CandidateRepository(_context); EnsureTestDataExists(); }
public List <Status> GetStatuses() { using var context = new CandidateDbContext(_connectionString); var statuses = new List <Status>(); foreach (Candidate c in context.Candidates) { statuses.Add(c.Status); } return(statuses); }
public bool SaveQualification(CandidateDbContext context, Qualification qualification) { try { context.Qualifications.Add(qualification); context.SaveChanges(); return(true); } catch (Exception e) { return(false); } }
public List <CandidateDTO> GetCandidates(CandidateDbContext _context, CandidateSearchParams searchParams) { { if (searchParams != null && _context != null) { var candidates = _context.Candidates; var qualifications = _context.Qualifications; var candidateDTOs = (from candidate in candidates select new CandidateDTO() { FirstName = candidate.FirstName, LastName = candidate.LastName, Email = candidate.Email, ZipCode = candidate.ZipCode, PhoneNumber = candidate.PhoneNumber, ID = candidate.ID, Qualifications = (from qualification in qualifications where qualification.CandidateID == candidate.ID select new QualificationDTO() { DateStarted = qualification.DateStarted, DateCompleted = qualification.DateCompleted, Name = qualification.Name, ID = qualification.ID, Type = qualification.Type, CandidateID = candidate.ID }).ToList() }).ToList(); var filteredCandidateDTOs = candidateDTOs.Where(c => (string.IsNullOrEmpty(searchParams.FirstName) || c.FirstName.ToLower().Contains(searchParams.FirstName.ToLower())) && (string.IsNullOrEmpty(searchParams.LastName) || c.LastName.ToLower().Contains(searchParams.LastName.ToLower())) && (string.IsNullOrEmpty(searchParams.Email) || c.Email.ToLower().Contains(searchParams.Email.ToLower())) && (string.IsNullOrEmpty(searchParams.PhoneNumber) || c.PhoneNumber == searchParams.PhoneNumber) && (string.IsNullOrEmpty(searchParams.ZipCode) || c.ZipCode == searchParams.ZipCode) // if dont have qualification search params, dont care about candidate qualifications && (searchParams.QualificationSearchParams == null // otherwise filter qualifications || (c.Qualifications != null && c.Qualifications.Any(q => (searchParams.QualificationSearchParams.Date == null || (q.DateStarted < searchParams.QualificationSearchParams.Date) && (q.DateCompleted > searchParams.QualificationSearchParams.Date)) && (searchParams.QualificationSearchParams.Type == null || q.Type?.ToLower() == searchParams.QualificationSearchParams.Type?.ToLower()) // Was going to allow muliple names to be filtered in one query, but ran out of time to implement in UI && (searchParams.QualificationSearchParams.CertificationNames == null || searchParams.QualificationSearchParams?.CertificationNames?.Count() == 0 || (q.Name != null && q.Name.Contains(searchParams?.QualificationSearchParams?.CertificationNames[0]))) )) )).ToList(); return(filteredCandidateDTOs.Count > 0? filteredCandidateDTOs : new List <CandidateDTO>()); } return(new List <CandidateDTO>()); } }
public bool SaveCandidates(CandidateDbContext context, Candidate candidate) { try { context.Candidates.Add(candidate); context.SaveChanges(); return(true); } catch (Exception e) { return(false); } }
private static void AddTestDataToDatabase(CandidateDbContext context) { var jsonString = File.ReadAllText("test-database.json"); var jsonOptions = new JsonSerializerOptions { PropertyNameCaseInsensitive = true }; jsonOptions.Converters.Add(new DateTimeConverter()); var testData = JsonSerializer.Deserialize <Models.Candidate[]>(jsonString, jsonOptions); for (int i = 0; i < testData.Length; i++) { var candidate = context.Candidates.Add(new Candidate { Id = testData[i].Id, RoleId = testData[i].RoleId, Firstname = testData[i].Firstname, Lastname = testData[i].Lastname, }); context.Assessments.Add(new Assessment { AssessmentType = AssessmentType.Behaviour, SentOn = testData[i].BehaviourAssessment.SentOn, CompletedOn = testData[i].BehaviourAssessment.CompletedOn, WorkingStrengths = testData[i].BehaviourAssessment.WorkingStrengths, Candidate = candidate.Entity }); context.Assessments.Add(new Assessment { AssessmentType = AssessmentType.Aptitude, SentOn = testData[i].AptitudeAssessment.SentOn, CompletedOn = testData[i].AptitudeAssessment.CompletedOn, TrainabilityIndex = testData[i].AptitudeAssessment.TrainabilityIndex, Candidate = candidate.Entity }); } context.SaveChanges(); }
public PositionService(CandidateDbContext context) { _context = context; }
public LevelRepository(CandidateDbContext context) { _context = context; }
public CandidateService(CandidateDbContext context) { _context = context; }
public PositionRepository(CandidateDbContext context) { _context = context; }
public CandidateController(CandidateDbContext context) { _context = context; }
public Candidate GetCandidateById(int id) { using var context = new CandidateDbContext(_connectionString); return(context.Candidates.FirstOrDefault(c => c.Id == id)); }
public List <Candidate> GetCandidateByStatus(Status status) { using var context = new CandidateDbContext(_connectionString); return(context.Candidates.Where(c => c.Status == status).ToList()); }
public void AddCandidate(Candidate candidate) { using var context = new CandidateDbContext(_connectionString); context.Candidates.Add(candidate); context.SaveChanges(); }
public LevelService(CandidateDbContext context) { _context = context; }