/// <summary>
        /// Method Name   : Apply
        /// Author        : Khushboo Patel
        /// Creation Date : 17 October 2019
        /// Purpose       : Apply For Resignation.
        /// </summary>
        /// <param name="resignationDetail"> ResignationDetail </param>
        public void Apply(ResignationDetailViewModel resignationDetail)
        {
            List <ConcernEmployee> listOfConcernEmployees = new List <ConcernEmployee>();

            var resignation = new Resignation()
            {
                CreatedDate             = DateTime.Now,
                RaisedOnDate            = DateTime.Now,
                EmployeeId              = _employeeResignation.GetEmployeeId(_claims.UserId),
                ResignationProposedDate = resignationDetail.RelieveDate,
                ResignationReason       = resignationDetail.Reason,
                ResignationStatus       = "Initiated",
            };

            foreach (var items in resignationDetail.CcPersons)
            {
                if (_employeeResignation.IsEmployeeRegistered(items))
                {
                    var concernEmployee = new ConcernEmployee
                    {
                        EmployeeId = items
                    };
                    listOfConcernEmployees.Add(concernEmployee);
                }
            }

            _employeeResignation.Apply(resignation, listOfConcernEmployees);
        }
 public IActionResult Apply([FromBody] ResignationDetailViewModel resignation)
 {
     _employeeResignation.Apply(resignation);
     return(Ok());
 }