public IActionResult Create(string returnUrl)
        {
            if (String.IsNullOrEmpty(returnUrl))
            {
                returnUrl = Request.Headers["Referer"].ToString();
            }

            return(View("Edit", EmployeeDepartmentViewModelFactory.Create(new EmployeeDepartmentDto(), returnUrl)));
        }
        public async Task <IActionResult> Details(int id)
        {
            var returnUrl = Request.Headers["Referer"].ToString();

            var employeeDepartment = await _employeeDeparment.GetEmployeeDepartment(id);

            EmployeeDepartmentViewModel department = EmployeeDepartmentViewModelFactory.Details(employeeDepartment, returnUrl);

            return(View("Edit", department));
        }
        public async Task <IActionResult> Edit(int id, string returnUrl = null)
        {
            if (String.IsNullOrEmpty(returnUrl))
            {
                returnUrl = Request.Headers["Referer"].ToString();
            }

            var employeeDepartment = await _employeeDeparment.GetEmployeeDepartment(id);

            EmployeeDepartmentViewModel deparment = EmployeeDepartmentViewModelFactory.Edit(employeeDepartment, returnUrl);

            return(View("Edit", deparment));
        }
        public async Task <IActionResult> Edit([FromForm] EmployeeDepartmentViewModel employeeDepartmentVM)
        {
            if (ModelState.IsValid)
            {
                await _employeeDeparment.UpdateEmployeeDepartment(employeeDepartmentVM.EmployeeDepartment);

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

                return(RedirectToAction(nameof(Edit), new { id = employeeDepartmentVM.EmployeeDepartment.Id, returnUrl = employeeDepartmentVM.ReturnUrl }));
            }
            else
            {
                TempData["message"]     = "A problem has been ocurred while updating your data.";
                TempData["toasterType"] = ToasterType.info;
            }

            return(View("Edit", EmployeeDepartmentViewModelFactory.Edit(employeeDepartmentVM.EmployeeDepartment, employeeDepartmentVM.ReturnUrl)));
        }
        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)));
        }