Example #1
0
        public IActionResult CreateEmployeeForCompany(Guid companyId, [FromBody] EmployeeForCreateDto employee)
        {
            if (employee == null)
            {
                _logger.LogError("EmployeeForCreateDto Object sent from client is null");
                return(BadRequest("EmployeeForCreateDto Object is null"));
            }
            // Sure ? if company id exists ?
            var company = _repositrory.Company.GetCompany(companyId, trackChanges: false);

            if (company == null)
            {
                _logger.LogInfo($"Company With d : {companyId} does't exist in the database.");
                return(NotFound());
            }
            // Everything is Okay emp/id
            var employeeEntity = _mapper.Map <Employee>(employee);

            _repositrory.Employee.CreateEmployeeForCompany(companyId, employeeEntity);
            _repositrory.Save();
            var employeeToReturn = _mapper.Map <EmployeeDto>(employeeEntity);

            // save --?url
            return(CreatedAtRoute("GetEmployeeForCompany", new { companyId, id = employeeEntity.Id }, employeeToReturn));
        }
Example #2
0
        public async Task <ActionResult> Create()
        {
            var depts = await _departmentRepository.GetDepartmentsForEmployees();

            EmployeeForCreateDto employeeForCreateDto = new EmployeeForCreateDto
            {
                Departments = depts
            };

            return(View(employeeForCreateDto));
        }
Example #3
0
        public async Task <ActionResult> Update(int id)
        {
            var depts = await _departmentRepository.GetDepartmentsForEmployees();

            var emp = await _employeeRepository.GetEmployee(id);

            EmployeeForCreateDto employeeForCreateDto = new EmployeeForCreateDto
            {
                Departments          = depts,
                Employee             = emp,
                SelectedDepartmentId = (int)emp.DepartmentId
            };

            return(View(employeeForCreateDto));
        }
        public IActionResult Post([FromBody] EmployeeForCreateDto employeeForCreateDto)
        {
            var result = _employeeService.Post(employeeForCreateDto);

            if (result.Success)
            {
                return(Created("/employee", result.Object));
            }

            if (result.Message != null)
            {
                return(BadRequest(new { error = result.Message }));
            }

            return(StatusCode(500));
        }
Example #5
0
        public ActionResult Update(EmployeeForCreateDto employeeForCreateDto)
        {
            if (ModelState.IsValid)
            {
                Employee employee = new Employee
                {
                    Address      = employeeForCreateDto.Employee.Address,
                    DepartmentId = employeeForCreateDto.SelectedDepartmentId,
                    EmployeeType = employeeForCreateDto.Employee.EmployeeType,
                    Name         = employeeForCreateDto.Employee.Name,
                    Phone        = employeeForCreateDto.Employee.Phone,
                    EmployeeId   = employeeForCreateDto.Employee.EmployeeId
                };
                _employeeRepository.UpdateEmployee(employee);

                return(RedirectToAction("index"));
            }
            return(View());
        }
Example #6
0
        public ActionResult Create(EmployeeForCreateDto employeeForCreateDto)
        {
            ///server side validation
            if (ModelState.IsValid)
            {
                Employee employee = new Employee()
                {
                    EmployeeType = EmployeeType.NormalEmployee,
                    Address      = employeeForCreateDto.Employee.Address,
                    DepartmentId = employeeForCreateDto.SelectedDepartmentId,
                    Name         = employeeForCreateDto.Employee.Name,
                    Phone        = employeeForCreateDto.Employee.Phone
                };

                _employeeRepository.CreateEmployee(employee);
                return(RedirectToAction("index"));
            }
            return(View());
        }
        public ResponseObject <EmployeeForReadDto> Post(EmployeeForCreateDto employeeForRegisterDto)
        {
            var departmentForCheckId = _departmentRepository.Get(employeeForRegisterDto.idDepartment);

            if (departmentForCheckId == null)
            {
                return(new ResponseObject <EmployeeForReadDto>(false, "Departamento inexistente"));
            }

            var employeeForCheckLogin = _employeeRepository.Get(employeeForRegisterDto.Login);

            if (employeeForCheckLogin != null)
            {
                return(new ResponseObject <EmployeeForReadDto>(false, "Login já cadastrado"));
            }

            if (employeeForRegisterDto.Access && _employeeRepository.CountAccess() > 10)
            {
                return(new ResponseObject <EmployeeForReadDto>(false, "Dismarque a opção acesso ao sistema. Limite excedido"));
            }

            var employeeForRegister = _mapper.Map <Employee>(employeeForRegisterDto);

            _employeeRepository.Post(employeeForRegister);

            try
            {
                var commit = _unityOfWork.Commit();

                return(commit
                    ? new ResponseObject <EmployeeForReadDto>(true, obj: _mapper.Map <EmployeeForReadDto>(employeeForRegister))
                    : new ResponseObject <EmployeeForReadDto>(false));
            }
            catch (Exception e)
            {
                return(new ResponseObject <EmployeeForReadDto>(false, e.InnerException.Message, null));
            }
        }