コード例 #1
0
        // GET: InterviewQuestionPapers/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            if (CheckVisitor())
            {
                return(RedirectToAction("NotAuthorized", "Home"));
            }

            InterviewQuestionPaper interviewQuestionPaper = db.InterviewQuestionPapers.Find(id);

            if (interviewQuestionPaper == null)
            {
                return(HttpNotFound());
            }

            if (!CheckAdmin() && (interviewQuestionPaper.userId != (int)Session["userId"]))
            {
                return(RedirectToAction("NotAuthorized", "Home"));
            }

            if (interviewQuestionPaper.dt_modified != null)
            {
                return(RedirectToAction("Details", new { id }));
            }

            ViewBag.applicationId = new SelectList(db.Applications, "applicationId", "applicationId", interviewQuestionPaper.applicationId);
            ViewBag.userId        = new SelectList(db.Users, "userId", "name", interviewQuestionPaper.userId);
            return(View(interviewQuestionPaper));
        }
コード例 #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            InterviewQuestionPaper interviewQuestionPaper = db.InterviewQuestionPapers.Find(id);

            db.InterviewQuestionPapers.Remove(interviewQuestionPaper);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #3
0
        public ActionResult Create([Bind(Include = "paperId,applicationId,userId,jobId,cd_creater,dt_created,cd_modifier,dt_modified")] InterviewQuestionPaper interviewQuestionPaper)
        {
            if (ModelState.IsValid)
            {
                db.InterviewQuestionPapers.Add(interviewQuestionPaper);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.applicationId = new SelectList(db.Applications, "applicationId", "applicationId", interviewQuestionPaper.applicationId);
            ViewBag.userId        = new SelectList(db.Users, "userId", "name", interviewQuestionPaper.userId);
            return(View(interviewQuestionPaper));
        }
コード例 #4
0
        // GET: InterviewQuestionPapers/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (CheckVisitor())
            {
                return(RedirectToAction("NotAuthorized", "Home"));
            }
            InterviewQuestionPaper interviewQuestionPaper = db.InterviewQuestionPapers.Find(id);

            if (interviewQuestionPaper == null)
            {
                return(HttpNotFound());
            }
            return(View(interviewQuestionPaper));
        }
コード例 #5
0
        public ActionResult Edit(InterviewQuestionPaper interviewQuestionPaper)
        {
            NameValueCollection nvc = Request.Form;
            int           i         = 0;
            string        name      = "answer_" + i.ToString();
            List <string> answers   = new List <string>();

            while (!string.IsNullOrEmpty(nvc[name]))
            {
                answers.Add(nvc[name]);
                i++;
                name = "answer_" + i.ToString();
            }

            /*
             * string userName, password;
             * if (!string.IsNullOrEmpty(nvc["txtUserName"]))
             * {
             *  userName = nvc["txtUserName"];
             * }
             *
             * if (!string.IsNullOrEmpty(nvc["txtPassword"]))
             * {
             *  password = nvc["txtPassword"];
             * }*/


            if (ModelState.IsValid)
            {
                int         applicationId = (int)interviewQuestionPaper.applicationId;
                Application application   = db.Applications.Find(applicationId);
                application.status                     = "Pending";
                interviewQuestionPaper.answers         = String.Join(",", answers);
                interviewQuestionPaper.dt_modified     = DateTime.Now;
                interviewQuestionPaper.cd_modifier     = (int)Session["userId"];
                db.Entry(interviewQuestionPaper).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index", "Applications"));
            }
            ViewBag.applicationId = new SelectList(db.Applications, "applicationId", "applicationId", interviewQuestionPaper.applicationId);
            ViewBag.userId        = new SelectList(db.Users, "userId", "name", interviewQuestionPaper.userId);
            return(View(interviewQuestionPaper));
        }
コード例 #6
0
        public ActionResult DeleteConfirmed(int id)
        {
            Application application = db.Applications.Find(id);
            int?        paperId     = application.paperId;
            int?        reviewId    = application.Reviews.First().reviewId;

            if (reviewId != null)
            {
                Review review = db.Reviews.Find(reviewId);
                review.jobId         = null;
                review.applicationId = null;
                review.paperId       = null;
                db.Reviews.Remove(review);
            }
            InterviewQuestionPaper interview = db.InterviewQuestionPapers.Find(paperId);

            interview.applicationId = null;
            db.SaveChanges();
            db.InterviewQuestionPapers.Remove(interview);
            db.Applications.Remove(application);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #7
0
        public ActionResult DeleteConfirmed(int id)
        {
            Job job          = db.Jobs.Find(id);
            var applications = db.Applications.Where(a => a.jobId == (job.jobId)).ToList();

            foreach (var app in applications)
            {
                Review review = db.Reviews.Where(a => a.applicationId == (app.applicationId)).FirstOrDefault();
                if (review != null)
                {
                    db.Reviews.Remove(review);
                }


                InterviewQuestionPaper paper = db.InterviewQuestionPapers.Find(app.paperId);

                if (paper != null)
                {
                    app.paperId         = null;
                    paper.applicationId = null;

                    db.SaveChanges();
                    db.InterviewQuestionPapers.Remove(paper);
                    db.Applications.Remove(app);
                }
                else
                {
                    db.SaveChanges();
                    db.Applications.Remove(app);
                }
            }


            db.Jobs.Remove(job);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #8
0
        public ActionResult Create([Bind(Include = "applicationId,cvFile,paperId")] Application application)
        {
            if (ModelState.IsValid)
            {
                if (application.cvFile != null && application.cvFile.ContentLength > 0)
                {
                    string FileExtension = Path.GetExtension(application.cvFile.FileName).ToUpper();

                    if (FileExtension == ".PDF")
                    {
                        byte[] bytes;
                        using (BinaryReader br = new BinaryReader(application.cvFile.InputStream))
                        {
                            bytes = br.ReadBytes(application.cvFile.ContentLength);
                        }

                        application.cv = bytes;
                    }
                }
                application.userId = (int)Session["userId"];
                application.status = "Interview";
                User user = db.Users.Where(a => a.userId == (application.userId)).FirstOrDefault();
                application.dt_created = DateTime.Now;
                user.Applications.Add(application);

                application.jobId = (int)Session["jobId"];

                Job job = db.Jobs.Find(application.jobId);
                InterviewQuestionPaper paper = new InterviewQuestionPaper();


                int      totalQuestions  = (int)job.questionNumber;
                string[] categoriesArray = job.categories.Split(',');
                //var questionIds = db.Questions.OrderBy(h => Guid.NewGuid()).Select(c => c.questionId).Take(3).ToList();
                int[]      numbers      = new int[categoriesArray.Length];
                List <int> allquestions = new List <int>();

                for (int i = 0; i < totalQuestions; i++)
                {
                    numbers[i % (categoriesArray.Length)]++;
                }

                for (int i = 0; i < categoriesArray.Length; i++)
                {
                    int question    = int.Parse(categoriesArray[i]);
                    var list        = db.Questions.Where(a => a.category == question);
                    var questionIds = list.OrderBy(h => Guid.NewGuid()).Select(c => c.questionId).Take(numbers[i]).ToList();
                    allquestions.AddRange(questionIds);
                }

                paper.questionList = string.Join(",", allquestions);


                paper.userId     = application.userId;
                paper.jobId      = application.jobId;
                paper.dt_created = DateTime.Now;
                paper.cd_creater = application.userId;

                db.InterviewQuestionPapers.Add(paper);
                db.SaveChanges();

                application.paperId = paper.paperId;
                paper.applicationId = application.applicationId;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.userId = new SelectList(db.Users, "userId", "name", application.userId);
            return(View(application));
        }