public ActionResult EmployeeStateInsuranceDetailsEdit(int id)
        {
            EmployeeStateInsuranceDetail stateInsuranceDetailsInDb = _context.EmployeeStateInsuranceDetails.Where(x => x.emp_state_insurance_id == id).FirstOrDefault();

            if (stateInsuranceDetailsInDb == null)
            {
                ModelState.AddModelError("", "Not found.");
                return(View("EmployeeStateInsuranceDetailForm", stateInsuranceDetailsInDb));
            }

            EmployeeStateInsuranceDetailFormViewModel viewModel = new EmployeeStateInsuranceDetailFormViewModel
            {
                emp_state_insurance_id    = stateInsuranceDetailsInDb.emp_state_insurance_id,
                disability_id             = stateInsuranceDetailsInDb.disability_id,
                previous_employer_code    = stateInsuranceDetailsInDb.previous_employer_code,
                previous_employer_name    = stateInsuranceDetailsInDb.previous_employer_name,
                previous_employer_address = stateInsuranceDetailsInDb.previous_employer_address,
                previous_ip_no            = stateInsuranceDetailsInDb.previous_ip_no,
                nominee_name              = stateInsuranceDetailsInDb.nominee_name,
                nominee_address           = stateInsuranceDetailsInDb.nominee_address,
                relation_with_nominee_id  = stateInsuranceDetailsInDb.relation_with_nominee_id,
                per_share_towards_nominee = stateInsuranceDetailsInDb.per_share_towards_nominee,
                employee_id      = int.Parse(Session["EmployeeId"].ToString()),
                Disabilities     = ManageDependancyData.GetDisability(),
                NomineeRelations = ManageDependancyData.GetBloodRelations(),
                Title            = "Edit State Insurance Details"
            };

            return(View("EmployeeStateInsuranceDetailForm", viewModel));
        }
        public ActionResult EmployeeStateInsuranceDetailsNew()
        {
            EmployeeStateInsuranceDetailFormViewModel viewModel = new EmployeeStateInsuranceDetailFormViewModel
            {
                Title            = "New State Insurance Detail",
                Disabilities     = ManageDependancyData.GetDisability(),
                NomineeRelations = ManageDependancyData.GetBloodRelations()
            };

            return(View("EmployeeStateInsuranceDetailForm", viewModel));
        }
        public ActionResult EmployeeStateInsuranceDetailsSave(EmployeeStateInsuranceDetailFormViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("EmployeeStateInsuranceDetailForm", viewModel));
            }

            if (viewModel.emp_state_insurance_id == 0)
            {
                EmployeeStateInsuranceDetail pfDetail = new EmployeeStateInsuranceDetail
                {
                    disability_id             = viewModel.disability_id,
                    previous_employer_code    = viewModel.previous_employer_code,
                    previous_employer_name    = viewModel.previous_employer_name,
                    previous_employer_address = viewModel.previous_employer_address,
                    previous_ip_no            = viewModel.previous_ip_no,
                    nominee_name              = viewModel.nominee_name,
                    nominee_address           = viewModel.nominee_address,
                    relation_with_nominee_id  = viewModel.relation_with_nominee_id,
                    per_share_towards_nominee = viewModel.per_share_towards_nominee,
                    employee_id = int.Parse(Session["EmployeeId"].ToString())
                };

                _context.EmployeeStateInsuranceDetails.Add(pfDetail);
                _context.SaveChanges();
            }
            else
            {
                EmployeeStateInsuranceDetail stateInsuranceDetailsInDb = _context.EmployeeStateInsuranceDetails.Where(x => x.emp_state_insurance_id == viewModel.emp_state_insurance_id).FirstOrDefault();

                if (stateInsuranceDetailsInDb == null)
                {
                    ModelState.AddModelError("", "Bad request.");
                    return(View("EmployeeStateInsuranceDetailForm", viewModel));
                }

                stateInsuranceDetailsInDb.disability_id             = viewModel.disability_id;
                stateInsuranceDetailsInDb.previous_employer_code    = viewModel.previous_employer_code;
                stateInsuranceDetailsInDb.previous_employer_name    = viewModel.previous_employer_name;
                stateInsuranceDetailsInDb.previous_employer_address = viewModel.previous_employer_address;
                stateInsuranceDetailsInDb.previous_ip_no            = viewModel.previous_ip_no;
                stateInsuranceDetailsInDb.nominee_name              = viewModel.nominee_name;
                stateInsuranceDetailsInDb.nominee_address           = viewModel.nominee_address;
                stateInsuranceDetailsInDb.relation_with_nominee_id  = viewModel.relation_with_nominee_id;
                stateInsuranceDetailsInDb.per_share_towards_nominee = viewModel.per_share_towards_nominee;

                _context.Entry(stateInsuranceDetailsInDb).State = System.Data.Entity.EntityState.Modified;
                _context.SaveChanges();
            }

            return(RedirectToAction("EmployeeStateInsuranceDetailsIndex",
                                    new { employee_id = int.Parse(Session["EmployeeId"].ToString()) }));
        }