public async Task <ReturnModel> UpdateAdministrator(AdministratorRequest request)
        {
            var adminValidator = new AdministratorValidator().Validate(request);

            if (!adminValidator.IsValid)
            {
                return new ReturnModel {
                           Errors = adminValidator.Errors
                }
            }
            ;

            var admin = await _administratorRepository.GetByCpf(request.Cpf);

            if (admin == null)
            {
                return new ReturnModel {
                           Errors = "Administrador Não existe"
                }
            }
            ;

            var result = await UpdateEntity(admin, request);

            return(new ReturnModel {
                Data = _mapper.Map <AdministratorModel>(result)
            });
        }
        public async Task <ReturnModel> CreateAdministrator(AdministratorRequest request)
        {
            var adminValidator = new AdministratorValidator().Validate(request);

            if (!adminValidator.IsValid)
            {
                return new ReturnModel {
                           Errors = adminValidator.Errors
                }
            }
            ;

            var admin = await _administratorRepository.GetByCpf(request.Cpf);

            if (admin != null)
            {
                return new ReturnModel {
                           Errors = "CPF já utilizado por outro Administrador"
                }
            }
            ;

            admin              = _mapper.Map <Administrator>(request);
            admin.Password     = PasswordService.GeneratePassword(admin.Password);
            admin.RegisteredAt = DateTime.Now;

            var result = await _administratorRepository.Insert(admin);

            return(new ReturnModel {
                Data = _mapper.Map <AdministratorModel>(result)
            });
        }