public ActionResult EmployeeDocumentsEdit(int id)
        {
            EmployeeDocumentDetail documentInDb = _context.EmployeeDocumentDetails.Where(x => x.document_id == id).FirstOrDefault();

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

            EmployeeDocumentFormViewModel viewModel = new EmployeeDocumentFormViewModel
            {
                document_id = documentInDb.document_id,
                type        = documentInDb.type,
                name        = documentInDb.name,
                number      = documentInDb.number,
                birthdate   = documentInDb.birthdate,
                address     = documentInDb.address,
                employee_id = int.Parse(Session["EmployeeId"].ToString()),
                DocTypes    = ManageDependancyData.DocumentTypes(),
                Title       = "Edit Document"
            };

            return(View("EmployeeDocumentForm", viewModel));
        }
        public ActionResult EmployeeDocumentsNew()
        {
            EmployeeDocumentFormViewModel viewModel = new EmployeeDocumentFormViewModel
            {
                DocTypes = ManageDependancyData.DocumentTypes(),
                Title    = "New Document"
            };

            return(View("EmployeeDocumentForm", viewModel));
        }
        public ActionResult EmployeeDocumentsSave(EmployeeDocumentFormViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("EmployeeDocumentForm", viewModel));
            }

            if (viewModel.document_id == 0)
            {
                EmployeeDocumentDetail document = new EmployeeDocumentDetail
                {
                    type        = viewModel.type,
                    name        = viewModel.name,
                    number      = viewModel.number,
                    birthdate   = viewModel.birthdate,
                    address     = viewModel.address,
                    employee_id = int.Parse(Session["EmployeeId"].ToString())
                };

                _context.EmployeeDocumentDetails.Add(document);
                _context.SaveChanges();
            }
            else
            {
                EmployeeDocumentDetail documentInDb = _context.EmployeeDocumentDetails.Where(x => x.document_id == viewModel.document_id).FirstOrDefault();

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

                documentInDb.type      = viewModel.type;
                documentInDb.name      = viewModel.name;
                documentInDb.number    = viewModel.number;
                documentInDb.birthdate = viewModel.birthdate;
                documentInDb.address   = viewModel.address;

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

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