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(); } }