public async Task <ActionResult <EmployeeDepartmentDto> > AddEmployeeDepartment([FromBody] EmployeeDepartmentForCreationDto employeeDepartmentForCreation)
        {
            var validationResults = new EmployeeDepartmentForCreationDtoValidator().Validate(employeeDepartmentForCreation);

            validationResults.AddToModelState(ModelState, null);

            if (!ModelState.IsValid)
            {
                return(BadRequest(new ValidationProblemDetails(ModelState)));
                //return ValidationProblem();
            }

            var EmployeeDepartment = _mapper.Map <EmployeeDepartment>(employeeDepartmentForCreation);
            await _EmployeeDepartmentRepository.AddEmployeeDepartment(EmployeeDepartment);

            var saveSuccessful = await _EmployeeDepartmentRepository.SaveAsync();

            if (saveSuccessful)
            {
                var EmployeeDepartmentFromRepo = await _EmployeeDepartmentRepository.GetEmployeeDepartmentAsync(EmployeeDepartment.Id);

                var EmployeeDepartmentDto = _mapper.Map <EmployeeDepartmentDto>(EmployeeDepartmentFromRepo);
                var response = new Response <EmployeeDepartmentDto>(EmployeeDepartmentDto);

                return(CreatedAtRoute("GetEmployeeDepartment",
                                      new { EmployeeDepartment.Id },
                                      response));
            }

            return(StatusCode(500));
        }
        public async Task <IActionResult> Create([FromForm] EmployeeDepartmentViewModel employeeDepartmentVM)
        {
            if (ModelState.IsValid)
            {
                var newEmployeeDepartment = await _employeeDeparment.AddEmployeeDepartment(employeeDepartmentVM.EmployeeDepartment);

                TempData["message"]     = "Your data has been submitted successfully.";
                TempData["toasterType"] = ToasterType.success;

                //return RedirectToAction(nameof(Index));

                return(RedirectToAction(nameof(Edit), new { id = newEmployeeDepartment.Id, returnUrl = employeeDepartmentVM.ReturnUrl }));
            }

            TempData["message"]     = "A problem has been ocurred while submitting your data.";
            TempData["toasterType"] = ToasterType.info;

            return(View("Edit", EmployeeDepartmentViewModelFactory.Create(employeeDepartmentVM.EmployeeDepartment, employeeDepartmentVM.ReturnUrl)));
        }