public ActionResult ClientContactsEdit(int id)
        {
            ClientContactDetail clientInDb = _context.ClientContactDetails.Where(x => x.contact_id == id).FirstOrDefault();

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

            ClientContactFormViewModel viewModel = new ClientContactFormViewModel
            {
                contact_id          = clientInDb.contact_id,
                contact_name        = clientInDb.contact_name,
                designation_id      = clientInDb.designation_id,
                management_level_id = clientInDb.management_level_id,
                department_id       = clientInDb.department_id,
                reporting_manager   = clientInDb.reporting_manager,
                birthdate           = clientInDb.birthdate,
                email_id            = clientInDb.email_id,
                mobile_no           = clientInDb.mobile_no,
                tel_no           = clientInDb.tel_no,
                client_id        = clientInDb.client_id,
                Departments      = ManageDependancyData.GetDepartments(),
                Designations     = ManageDependancyData.GetDesignations(),
                ManagementLevels = ManageDependancyData.GetManagementLevels(),
                Title            = "Edit Client Contact"
            };

            return(View("ClientContactForm", viewModel));
        }
        public ActionResult ClientContactsSave(ClientContactFormViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("ClientContactForm", viewModel));
            }

            if (viewModel.contact_id == 0)
            {
                ClientContactDetail clientContactDetail = new ClientContactDetail
                {
                    contact_name        = viewModel.contact_name,
                    designation_id      = viewModel.designation_id,
                    management_level_id = viewModel.management_level_id,
                    department_id       = viewModel.department_id,
                    reporting_manager   = viewModel.reporting_manager,
                    birthdate           = viewModel.birthdate,
                    email_id            = viewModel.email_id,
                    mobile_no           = viewModel.mobile_no,
                    tel_no    = viewModel.tel_no,
                    client_id = int.Parse(Session["ClientId"].ToString())
                };

                _context.ClientContactDetails.Add(clientContactDetail);
                _context.SaveChanges();
            }
            else
            {
                ClientContactDetail clientContactInDb = _context.ClientContactDetails.Where(x => x.contact_id == viewModel.contact_id).FirstOrDefault();

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

                clientContactInDb.contact_id          = viewModel.contact_id;
                clientContactInDb.contact_name        = viewModel.contact_name;
                clientContactInDb.designation_id      = viewModel.designation_id;
                clientContactInDb.management_level_id = viewModel.management_level_id;
                clientContactInDb.department_id       = viewModel.department_id;
                clientContactInDb.reporting_manager   = viewModel.reporting_manager;
                clientContactInDb.birthdate           = viewModel.birthdate;
                clientContactInDb.email_id            = viewModel.email_id;
                clientContactInDb.mobile_no           = viewModel.mobile_no;
                clientContactInDb.tel_no = viewModel.tel_no;

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

            return(RedirectToAction("ClientContactsIndex",
                                    new { client_id = int.Parse(Session["ClientId"].ToString()) }));
        }
        public ActionResult ClientContactsNew()
        {
            ClientContactFormViewModel viewModel = new ClientContactFormViewModel
            {
                Title            = "Add Client Contact",
                Departments      = ManageDependancyData.GetDepartments(),
                Designations     = ManageDependancyData.GetDesignations(),
                ManagementLevels = ManageDependancyData.GetManagementLevels()
            };

            return(View("ClientContactForm", viewModel));
        }