Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
 public void Insert(EmployeeCharge employeeCharge)
 {
     ApplicationDbContext.EmployeeCharges.Add(employeeCharge);
 }