public IActionResult Edit(EditEmployeeBindingModel bm, int id)
        {
            var employee = EmployeeServices.GetEmployeeById(id);

            var expLevels = new[] { "A", "B", "C", "D" };

            if (bm.ExperinceLevel != null && !expLevels.Contains(bm.ExperinceLevel))
            {
                ModelState.AddModelError("ExperinceLevel", "Experince Level must be \"A\", \"B\", \"C\", \"D\"");
                var dtoComp = CompanyServices.GetAllCompanies();
                var dto     = new EditEmployeeDto()
                {
                    Companies = dtoComp,
                    Employee  = employee
                };
                return(this.View(dto));
            }

            EditEmployee(bm, employee);

            this.EmployeeServices.UpdateEmployee(employee);
            var companies = this.CompanyServices.GetAllCompanies();

            employee = EmployeeServices.GetEmployeeById(id);

            var employeeDto = new EditEmployeeDto()
            {
                Employee  = employee,
                Companies = companies
            };

            this.ViewData["edit"] = "You have successfully edited this employee!";

            return(this.View(employeeDto));
        }
Example #2
0
        public async Task <IActionResult> EditEmployee(string id, EditEmployeeDto employeeDto)
        {
            if (id != employeeDto.Id)
            {
                return(BadRequest());
            }

            try
            {
                var employee = new Employee()
                {
                    Id           = employeeDto.Id,
                    FirstName    = employeeDto.FirstName,
                    LastName     = employeeDto.LastName,
                    Email        = employeeDto.Email,
                    PhoneNumber  = employeeDto.PhoneNumber,
                    DepartmentId = employeeDto.DepartmentId,
                    PositionId   = employeeDto.PositionId
                };
                await _employeeService.EditEmployeeAsync(employee);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(StatusCode(500, new { error = ex.Message }));
            }

            return(NoContent());
        }
Example #3
0
        public async Task UpdateEmployee(EditEmployeeDto input)
        {
            var @employee = input.MapTo <Employee>();

            @employee.TenantId = AbpSession.GetTenantId();
            int i = 0;
            await _employeeRepository.UpdateAsync(@employee);
        }
        public async Task <ServiceResponse <GetEmployeeDto> > EditEmployee(EditEmployeeDto editEmployee)
        {
            try
            {
                var employee = await _dbContext.Employees.FirstOrDefaultAsync(x => x.Id == editEmployee.Id);

                //Check Employee
                if (employee is null)
                {
                    return(ResponseResult.Failure <GetEmployeeDto>($"employee id {editEmployee.Id} not found"));
                }

                var position = await _dbContext.Positions.FirstOrDefaultAsync(x => x.Id == editEmployee.PositionId);

                //Check Position
                if (position is null)
                {
                    return(ResponseResult.Failure <GetEmployeeDto>("Position not found"));
                }

                var department = await _dbContext.Departments.FirstOrDefaultAsync(x => x.Id == editEmployee.DepartmentId);

                //Check Department
                if (department is null)
                {
                    return(ResponseResult.Failure <GetEmployeeDto>("Department not found"));
                }

                //assign value
                employee.Name         = editEmployee.Name;
                employee.LastName     = editEmployee.LastName;
                employee.PositionId   = editEmployee.PositionId;
                employee.DepartmentId = editEmployee.DepartmentId;

                //insert database
                _dbContext.Employees.Update(employee);
                await _dbContext.SaveChangesAsync();

                //mapper Dto and return
                var dto = _mapper.Map <GetEmployeeDto>(employee);
                _log.LogInformation($"Edit employee Success");
                return(ResponseResult.Success(dto, "Success"));
            }
            catch (Exception ex)
            {
                _log.LogError(ex.Message);
                return(ResponseResult.Failure <GetEmployeeDto>(ex.Message));
            }
        }
        public IActionResult Edit(int id, string slug)
        {
            var employee  = EmployeeServices.GetEmployeeById(id);
            var comapnies = CompanyServices.GetAllCompanies();

            if (employee == null || employee.Name != slug)
            {
                return(NotFound());
            }

            var employeeDto = new EditEmployeeDto()
            {
                Employee  = employee,
                Companies = comapnies
            };

            return(this.View(employeeDto));
        }
 public async Task <IActionResult> EditEmployee(EditEmployeeDto editEmployee)
 {
     return(Ok(await _comService.EditEmployee(editEmployee)));
 }