Ejemplo n.º 1
0
        public async Task UpdateAdmin(int adminId, UpdateWorkerModel model)
        {
            var admin = (await userManager.FindByIdAsync(adminId.ToString()))
                        ?? throw new KeyNotFoundException($"Administrator not found with an id of { adminId }");

            if (!await userManager.IsInRoleAsync(admin, "administrator"))
            {
                throw new InvalidOperationException("User is not an administrator");
            }

            new UpdateWorkerValidator().ValidateAndThrow(model);

            admin.Address   = model.Address;
            admin.Email     = model.Email;
            admin.FirstName = model.FirstName;
            admin.LastName  = model.LastName;
            admin.Address   = model.Address;
            admin.Gender    = model.GenderEnum.Value;

            var result = await userManager.UpdateAsync(admin);

            if (!result.Succeeded)
            {
                throw new InvalidOperationException(result.Errors.First().Description);
            }
        }
Ejemplo n.º 2
0
        public async Task WhenIUpdateThisWorkerSNin(string nin)
        {
            var updateWorker = new UpdateWorkerModel
            {
                Id        = _existsWorkerModel.Id,
                BirthDate = _existsWorkerModel.BirthDate,
                Nin       = nin,
                Name      = _existsWorkerModel.Name
            };

            try
            {
                var data    = JsonConvert.SerializeObject(updateWorker);
                var content = new StringContent(data, Encoding.UTF8, "application/json");

                var response = await _client.PutAsync($"api/users/{_existsWorkerModel.Id}", content);

                Assert.Equal(HttpStatusCode.NoContent, response.StatusCode);

                _existsWorkerModel.Nin = nin;
            }
            catch (Exception ex)
            {
                Assert.True(false, ex.Message);
            }
        }
Ejemplo n.º 3
0
        public async Task <IHttpActionResult> UpdateWorker([FromBody] UpdateWorkerModel data)
        {
            Code status = default(Code);
            var  worker = store
                          .Workers
                          .Where(c => c.WorkerID == data.id)
                          .FirstOrDefault();

            if (worker != null)
            {
                worker.FirstName  = data.firstname;
                worker.LastName   = data.lastname;
                worker.MiddleName = data.middlename;
                worker.PositionID = data.positionid;
            }
            store.SaveChanges();
            return(Ok(ApiResponseManager.CreateResponse(new Status(status))));
        }
Ejemplo n.º 4
0
        public async Task UpdateEmployee(int employeeId, UpdateWorkerModel model)
        {
            var employee = (await userManager.FindByIdAsync(employeeId.ToString()))
                           ?? throw new KeyNotFoundException($"Employee not found with an id of { employeeId }");

            var callerCompanyId = userAccessor.CompanyId;

            if (callerCompanyId == null)
            {
                throw new InvalidOperationException("Only an assigned administrator can make changes");
            }

            if (employee.CompanyId != callerCompanyId)
            {
                throw new InvalidOperationException("Employee is not part of the company");
            }

            if (!await userManager.IsInRoleAsync(employee, "employee"))
            {
                throw new InvalidOperationException("User is not an employee");
            }

            new UpdateWorkerValidator().ValidateAndThrow(model);

            employee.Address   = model.Address;
            employee.Email     = model.Email;
            employee.FirstName = model.FirstName;
            employee.LastName  = model.LastName;
            employee.Address   = model.Address;
            employee.Gender    = model.GenderEnum.Value;

            var result = await userManager.UpdateAsync(employee);

            if (!result.Succeeded)
            {
                throw new InvalidOperationException(result.Errors.First().Description);
            }
        }
Ejemplo n.º 5
0
 public static Worker ConvertToUserEntity(this UpdateWorkerModel userModel) =>
 new Worker(userModel.Id, userModel.Name, userModel.BirthDate, userModel.Cpf);
Ejemplo n.º 6
0
        public async Task <ActionResult> UpdateEmployee(int employeeId, [FromBody] UpdateWorkerModel model)
        {
            await userService.UpdateEmployee(employeeId, model);

            return(Ok());
        }
Ejemplo n.º 7
0
        public async Task <ActionResult> UpdateAdmin(int adminId, [FromBody] UpdateWorkerModel model)
        {
            await userService.UpdateAdmin(adminId, model);

            return(Ok());
        }