public async Task <ActionResult> Create(LeaveTypeViewModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    throw new Exception("Model State is not Valid!");
                }

                var entity = mapper.Map <LeaveType>(model);
                if (!await repo.CreateAsync(entity).ConfigureAwait(false))
                {
                    throw new Exception("Creation has failed!");
                }

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception ex)
            {
                ModelState.TryAddModelException(nameof(ex.Message), ex);
                return(View());
            }
        }