예제 #1
0
        public ActionResult Index(CandidateViewModel model)
        {
            try
            {
                var f = Request.Files["CV"];
                if (f != null && f.ContentLength > 0)
                {
                    string FileName   = System.IO.Path.GetFileName(f.FileName);
                    bool   isPDF      = System.IO.Path.GetExtension(f.FileName.ToLower()).Equals(".pdf") ? true : false;
                    string UploadPath = Server.MapPath("~/wwwroot/CV/" + FileName);
                    f.SaveAs(UploadPath);
                    model.CV    = FileName;
                    model.IsPDF = isPDF;
                }

                if (model.CandidateId > 0)
                {
                    //Update
                    Candidate emp = db.Candidate.FirstOrDefault(x => x.CandidateId == model.CandidateId);

                    emp.LevelId       = model.LevelId;
                    emp.PositionId    = model.PositionId;
                    emp.FullName      = model.FullName;
                    emp.Birthday      = model.Birthday;
                    emp.Address       = model.Address;
                    emp.Phone         = model.Phone;
                    emp.Email         = model.Email;
                    emp.IntroduceName = model.IntroduceName;
                    emp.CV            = model.CV;
                    emp.IsPDF         = model.IsPDF;
                    db.SaveChanges();
                }
                else
                {
                    //Insert
                    Candidate emp = new Candidate();
                    emp.LevelId       = model.LevelId;
                    emp.PositionId    = model.PositionId;
                    emp.FullName      = model.FullName;
                    emp.Birthday      = model.Birthday;
                    emp.Address       = model.Address;
                    emp.Phone         = model.Phone;
                    emp.Email         = model.Email;
                    emp.IntroduceName = model.IntroduceName;
                    emp.CV            = model.CV;
                    emp.IsPDF         = model.IsPDF;
                    db.Candidate.Add(emp);
                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public ActionResult Schedule(CandidateViewModel model)
        {
            var candi = db.Candidate.Find(model.CandidateId);

            candi.InterviewTime     = model.InterviewTime;
            candi.InterviewLocation = model.InterviewLocation;
            candi.Note        = model.Note;
            candi.IsContacted = model.IsContacted;
            candi.EmployeeId  = model.EmployeeId;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #3
0
        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 bool SaveQualification(CandidateDbContext context, Qualification qualification)
 {
     try
     {
         context.Qualifications.Add(qualification);
         context.SaveChanges();
         return(true);
     }
     catch (Exception e)
     {
         return(false);
     }
 }
        public bool SaveCandidates(CandidateDbContext context, Candidate candidate)
        {
            try
            {
                context.Candidates.Add(candidate);
                context.SaveChanges();
                return(true);
            }

            catch (Exception e)
            {
                return(false);
            }
        }
예제 #7
0
        public ActionResult ApplyCV(int candidateId, int apply)
        {
            Candidate emp = db.Candidate.FirstOrDefault(x => x.CandidateId == candidateId);

            if (apply == 0)
            {
                emp.Status    = 1;
                emp.IsApplied = 0;
            }
            else
            {
                emp.Status = 2;
            }
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #8
0
        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 void AddCandidate(Candidate candidate)
 {
     using var context = new CandidateDbContext(_connectionString);
     context.Candidates.Add(candidate);
     context.SaveChanges();
 }
        private void EnsureTestDataExists()
        {
            _context.Database.EnsureCreated();

            // Model Candidate
            var candidate = _context.Candidates.Add(new Data.Candidate
            {
                RoleId    = Guid.NewGuid(),
                Firstname = "Someone",
                Lastname  = "Cool"
            });

            _context.Assessments.Add(new Data.Assessment
            {
                AssessmentType   = AssessmentType.Behaviour,
                SentOn           = DateTime.Now.Subtract(TimeSpan.FromDays(8)),
                CompletedOn      = DateTime.Now.Subtract(TimeSpan.FromDays(6)),
                WorkingStrengths = "WS",
                Candidate        = candidate.Entity
            });
            _context.Assessments.Add(new Data.Assessment
            {
                AssessmentType    = AssessmentType.Aptitude,
                SentOn            = DateTime.Now.Subtract(TimeSpan.FromDays(8)),
                CompletedOn       = DateTime.Now.Subtract(TimeSpan.FromDays(7)),
                TrainabilityIndex = 54,
                Candidate         = candidate.Entity
            });

            // Candidate with outstanding Behaviour Assessment
            candidate = _context.Candidates.Add(new Data.Candidate
            {
                RoleId    = Guid.NewGuid(),
                Firstname = "ajsdnfksa",
                Lastname  = "dlfjsdlkf"
            });
            _context.Assessments.Add(new Data.Assessment
            {
                AssessmentType = AssessmentType.Behaviour,
                SentOn         = DateTime.Now.Subtract(TimeSpan.FromDays(16)),
                Candidate      = candidate.Entity
            });
            _context.Assessments.Add(new Data.Assessment
            {
                AssessmentType    = AssessmentType.Aptitude,
                SentOn            = DateTime.Now.Subtract(TimeSpan.FromDays(14)),
                CompletedOn       = DateTime.Now.Subtract(TimeSpan.FromDays(11)),
                TrainabilityIndex = 54,
                Candidate         = candidate.Entity
            });

            // Candidate with outstanding Aptitude Assessment
            candidate = _context.Candidates.Add(new Data.Candidate
            {
                RoleId    = Guid.NewGuid(),
                Firstname = "sdfljsodifjs",
                Lastname  = "dsflksdlkfks",
            });
            _context.Assessments.Add(new Data.Assessment
            {
                AssessmentType   = AssessmentType.Behaviour,
                SentOn           = DateTime.Now.Subtract(TimeSpan.FromDays(12)),
                CompletedOn      = DateTime.Now.Subtract(TimeSpan.FromDays(6)),
                WorkingStrengths = "S",
                Candidate        = candidate.Entity
            });
            _context.Assessments.Add(new Data.Assessment
            {
                AssessmentType = AssessmentType.Aptitude,
                SentOn         = DateTime.Now.Subtract(TimeSpan.FromDays(10)),
                Candidate      = candidate.Entity
            });

            // Candidate with Specific Name to be found be Search functionality
            candidate = _context.Candidates.Add(new Data.Candidate
            {
                RoleId    = Guid.NewGuid(),
                Firstname = "Randy",
                Lastname  = "Dillion"
            });
            _context.Assessments.Add(new Data.Assessment
            {
                AssessmentType   = AssessmentType.Behaviour,
                SentOn           = DateTime.Now.Subtract(TimeSpan.FromDays(12)),
                CompletedOn      = DateTime.Now.Subtract(TimeSpan.FromDays(6)),
                WorkingStrengths = "S",
                Candidate        = candidate.Entity
            });
            _context.Assessments.Add(new Data.Assessment
            {
                AssessmentType    = AssessmentType.Aptitude,
                SentOn            = DateTime.Now.Subtract(TimeSpan.FromDays(10)),
                CompletedOn       = DateTime.Now.Subtract(TimeSpan.FromDays(9)),
                TrainabilityIndex = 34,
                Candidate         = candidate.Entity
            });

            // Candidates with generic Names to be found be Search functionality
            candidate = _context.Candidates.Add(new Data.Candidate
            {
                RoleId    = Guid.NewGuid(),
                Firstname = "Chris",
                Lastname  = "Awesome"
            });
            _context.Assessments.Add(new Data.Assessment
            {
                AssessmentType   = AssessmentType.Behaviour,
                SentOn           = DateTime.Now.Subtract(TimeSpan.FromDays(12)),
                CompletedOn      = DateTime.Now.Subtract(TimeSpan.FromDays(6)),
                WorkingStrengths = "S",
                Candidate        = candidate.Entity
            });
            _context.Assessments.Add(new Data.Assessment
            {
                AssessmentType    = AssessmentType.Aptitude,
                SentOn            = DateTime.Now.Subtract(TimeSpan.FromDays(10)),
                CompletedOn       = DateTime.Now.Subtract(TimeSpan.FromDays(9)),
                TrainabilityIndex = 34,
                Candidate         = candidate.Entity
            });
            candidate = _context.Candidates.Add(new Data.Candidate
            {
                RoleId    = Guid.NewGuid(),
                Firstname = "Christ",
                Lastname  = "The one"
            });
            _context.Assessments.Add(new Data.Assessment
            {
                AssessmentType   = AssessmentType.Behaviour,
                SentOn           = DateTime.Now.Subtract(TimeSpan.FromDays(12)),
                CompletedOn      = DateTime.Now.Subtract(TimeSpan.FromDays(6)),
                WorkingStrengths = "S",
                Candidate        = candidate.Entity
            });
            _context.Assessments.Add(new Data.Assessment
            {
                AssessmentType    = AssessmentType.Aptitude,
                SentOn            = DateTime.Now.Subtract(TimeSpan.FromDays(10)),
                CompletedOn       = DateTime.Now.Subtract(TimeSpan.FromDays(9)),
                TrainabilityIndex = 34,
                Candidate         = candidate.Entity
            });

            // Candidate with No Aptitude Assessment
            candidate = _context.Candidates.Add(new Data.Candidate
            {
                RoleId    = Guid.NewGuid(),
                Firstname = "No",
                Lastname  = "Personality"
            });
            _context.Assessments.Add(new Data.Assessment
            {
                AssessmentType   = AssessmentType.Behaviour,
                SentOn           = DateTime.Now.Subtract(TimeSpan.FromDays(12)),
                CompletedOn      = DateTime.Now.Subtract(TimeSpan.FromDays(6)),
                WorkingStrengths = "S",
                Candidate        = candidate.Entity
            });

            // Candidate with No Behaviour Assessment
            candidate = _context.Candidates.Add(new Data.Candidate
            {
                RoleId    = Guid.NewGuid(),
                Firstname = "Bad",
                Lastname  = "Behaviour"
            });
            _context.Assessments.Add(new Data.Assessment
            {
                AssessmentType    = AssessmentType.Aptitude,
                SentOn            = DateTime.Now.Subtract(TimeSpan.FromDays(12)),
                CompletedOn       = DateTime.Now.Subtract(TimeSpan.FromDays(6)),
                TrainabilityIndex = 65,
                Candidate         = candidate.Entity
            });

            _context.SaveChanges();
        }