public async Task <ActionResult <EmployeeChargeViewModel> > EmployeeCharges( [FromBody] EmployeeChargeInputModel employeeChargeInputModel) { EmployeeCharge employeeCharge = _mapper.Map <EmployeeCharge>(employeeChargeInputModel); _employeesRepository.Insert(employeeCharge); await _unitWork.SaveAsync(); return(_mapper.Map <EmployeeChargeViewModel>(employeeCharge)); }
public async Task <ActionResult <EmployeeViewModel> > PostEmployee(EmployeeInputModel employeeModel) { EmployeeCharge employeeCharge = await _employeesRepository.GetAllEmployeeCharges() .FirstOrDefaultAsync(c => c.Id == employeeModel.ChargeId); if (employeeCharge is null) { return(BadRequest("El cargo del empleado no se encuentra registrado.")); } Employee employee = _mapper.Map <Employee>(employeeModel); employee.EmployeeCharge = employeeCharge; IdentityResult result = await _applicationUserRepository.CreateAsync(employee.User, employeeModel.User.Password); if (!result.Succeeded) { return(this.IdentityResultErrors(result)); } IdentityResult roleResult = await _applicationUserRepository.AddToRoleAsync(employee.User, GetEmployeeRole(employee)); if (!roleResult.Succeeded) { return(this.IdentityResultErrors(roleResult)); } _employeesRepository.Insert(employee); try { await _unitWork.SaveAsync(); } catch (DbUpdateException) { if (EmployeeExists(employee.Id)) { return(Conflict($"Ya existe un empleado registrado con el código {employeeModel.Id}")); } throw; } return(_mapper.Map <EmployeeViewModel>(employee)); }
public void Insert(EmployeeCharge employeeCharge) { ApplicationDbContext.EmployeeCharges.Add(employeeCharge); }