예제 #1
0
    protected void AssignedVacDV_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
    {
        int updateAccProc = 0;
        string oldProcessor = null;
        string oldAccessor = null;

        int ProcAccUpdateStatus = 0;

        try
        {
            string vacancyTitle = e.NewValues["[Vacancy Title]"].ToString().Trim();
            string branchID = e.NewValues["branch_id"].ToString().Trim();
            string deadLine = e.NewValues["[Vacancy Deadline]"].ToString().Trim();
            string jGrade = e.NewValues["[Job Grade]"].ToString().Trim();
            string vacancyStatus = e.NewValues["status"].ToString().Trim();
            string year4Gen = e.NewValues["[Year required for General]"].ToString().Trim();
            string year4Spec = e.NewValues["[Year required for Specific]"].ToString().Trim();
            string genPerc = e.NewValues["[General Work Exp Percentage]"].ToString().Trim();
            string specPerc = e.NewValues["[Specific Work Exp Percentage]"].ToString().Trim();
            string RelPer = e.NewValues["[Related Work Exp Percentage]"].ToString().Trim();
            string examPer = e.NewValues["[Examination Percentage]"].ToString().Trim();
            string mangRec = e.NewValues["[Manageral Rec Percentage]"].ToString().Trim();
            string interviewPer = e.NewValues["[Interview Percentage]"].ToString().Trim();
            string jobDes = e.NewValues["[Job Description]"].ToString().Trim();
            string jobReq = e.NewValues["[Job Requirement]"].ToString().Trim();
            string benefit = e.NewValues["[Job Benefit]"].ToString().Trim();
            string appCompDate = e.NewValues["[Applicant Registration Complete Date]"].ToString().Trim();
            string profArrive = e.NewValues["[Profile Arrived Date]"].ToString().Trim();
            string procSDate = e.NewValues["[Processor Start Date]"].ToString().Trim();
            string procEDate = e.NewValues["[Processor End Date]"].ToString().Trim();
            string accesSDate = e.NewValues["[Accessor Start Date]"].ToString().Trim();
            string accesEDate = e.NewValues["[Accessor End Date]"].ToString().Trim();
            string procID = e.NewValues["[Processor ID]"].ToString().Trim();
            string accesID = e.NewValues["[Accessor ID]"].ToString().Trim();

            if (vacStatusCanEditted == "Vacancy Checking Done" ||
                vacStatusCanEditted == "Vacancy Evalution1 Done" ||
                vacStatusCanEditted == "Vacancy Evalution2 Done")
            {
                updateAccProc = 0;
            }
            else
            {
                updateAccProc = 1;
            }

            Vacancy vacancy = new Vacancy();

            vacancy.VancayTitle = vacancyTitle;
            vacancy.BranchId = branchID;
            vacancy.VancyDeadline = deadLine;
            vacancy.VacancyforJobGrade = jGrade;
            vacancy.Status = vacancyStatus;
            vacancy.YearRequiredforGeneral = year4Gen;
            vacancy.YearRequiredforSpec = year4Spec;
            vacancy.GeneralWrkExprPercent = genPerc;
            vacancy.SpecificWrkExprPercent = specPerc;
            vacancy.RelatedWrkExprPercent = RelPer;
            vacancy.ExaminationPercent = examPer;
            vacancy.ManagerRecPercent = mangRec;
            vacancy.InterviewPercent = interviewPer;
            vacancy.ApplicantComplete = appCompDate;
            vacancy.ProfileArrivedDate = profArrive;
            vacancy.ProcessorStartDate = procSDate;
            vacancy.ProcessorEndDate = procEDate;
            vacancy.AccessorStartDate = accesSDate;
            vacancy.AccessorEndDate = accesEDate;
            vacancy.ResponsibleProcessorEID = procID;
            vacancy.ResponsibleAccessorEID = accesID;
            vacancy.JobDescription = jobDes;
            vacancy.JobRequirement = jobReq;
            vacancy.SalaryAndBenefit = benefit;

            vacancy.VacancyNo = vacancyNoforGV;
            vacancy.PostedDate = postDate;

            VacancyRegistrationAndEvaluationManager manager = new VacancyRegistrationAndEvaluationManager();
            TransactionResponse response = new TransactionResponse();

            //get the current Processor and Checker
            response = manager.getVacancyDetail(vacancy);
            DataTable dataTable = (DataTable)response.Data;
            


            if (dataTable != null && dataTable.Rows.Count > 0)
            {
                oldProcessor = dataTable.Rows[0]["responsible_processor_EID"].ToString().Trim();
                oldAccessor = dataTable.Rows[0]["reponsible_accessor_EID"].ToString().Trim();

                if (procID == oldProcessor && accesID == oldAccessor)
                {
                    ProcAccUpdateStatus = 1;
                }
                else if (procID != oldProcessor && accesID == oldAccessor)
                {
                    ProcAccUpdateStatus = 2;
                }
                else if (procID == oldProcessor && accesID != oldAccessor)
                {
                    ProcAccUpdateStatus = 3;
                }
                else if (procID != oldProcessor && accesID != oldAccessor)
                {
                    ProcAccUpdateStatus = 4;
                }
            }

            response = manager.updateVacancyDetailAssignedtoHROfficer(vacancy, updateAccProc, ProcAccUpdateStatus, 
                                                oldProcessor, oldAccessor);
            if (response.isSuccessful())
            {
                AssignedVacDV.ChangeMode(DetailsViewMode.ReadOnly);
                BindAssignedVacToDetailView();

                msgPanel.Visible = true;
                SucessDIV.Visible = true;
                lblSuccessMessage.Text = response.getMessage();
            }
            else
            {
                msgPanel.Visible = true;
                ErroroDIV.Visible = true;
                lblErrorMsg.Text = response.getMessage();
            }

        }
        catch (Exception ex)
        {
            msgPanel.Visible = true;
            lblErrorMsg.Text = ex.StackTrace.ToString();
        }
    }