public bool Update(Domain.Entities.Person person)
        {
            var affectedRows = connection.Execute(
                "Exec Person_esx_update  @Id, @Name, @Email, @Salary, @SalaryLiq, @SalaryBru, @Tax, @DateCalc", person);

            return(affectedRows > 0);
        }
        public Domain.Entities.Person Add(Domain.Entities.Person entity)
        {
            if (!entity.IsValid())
            {
                return(entity);
            }

            var newPersonCpf = entity.Documents.FirstOrDefault(x => x.DocumentTypeId == Domain.Enum.EDocumentType.CPF);

            if (newPersonCpf == null)
            {
                entity.AddError($"CPF não encontrado - Pessoa a ser cadastrada: {entity.FirstName} {entity.MiddleName} {entity.LastName} ");
                return(entity);
            }

            //TODO - validate all documents, in a later moment
            if (_personRepository.GetByCPF(newPersonCpf.DocumentNumber) != null)
            {
                entity.AddError($"CPF {newPersonCpf.DocumentNumber} já cadastrado");
                return(entity);
            }

            _personRepository.Add(entity);

            return(entity);
        }
        public ValidationResult Update(Domain.Entities.Person entity)
        {
            if (!entity.IsValid())
            {
                return(entity);
            }

            var newPersonCpf = entity.Documents.FirstOrDefault(x => x.DocumentTypeId == Domain.Enum.EDocumentType.CPF);

            if (newPersonCpf == null)
            {
                entity.AddError($"CPF não encontrado - Pessoa a ser cadastrada: {entity.FirstName}");
                return(entity);
            }

            var currentCPFSaved = _personRepository.GetByCPF(newPersonCpf.DocumentNumber);

            //TODO - validate all documents, in a later moment
            if (currentCPFSaved != null && currentCPFSaved.Id != entity.Id)
            {
                entity.AddError($"CPF {newPersonCpf.DocumentNumber} já cadastrado");
                return(entity);
            }

            _personRepository.Update(entity);

            return(entity);
        }
Beispiel #4
0
        public async Task CreatePersonAsync(Domain.Entities.Person person)
        {
            ValidatePerson(person);

            await _unitOfWork.PersonRepository.CreatePersonAsync(person);

            await _unitOfWork.SaveChangesAsync();
        }
Beispiel #5
0
        public Entity.Person ToEntity(Person model)
        {
            var personEntity = new Domain.Entities.Person();

            personEntity.id   = model.id;
            personEntity.name = model.name;
            return(personEntity);
        }
Beispiel #6
0
        public async Task UpdatePersonAsync(Domain.Entities.Person person, string key)
        {
            if (key == null)
            {
                return;
            }

            ValidatePerson(person);

            await _unitOfWork.PersonRepository.UpdatePersonAsync(person, key);

            await _unitOfWork.SaveChangesAsync();
        }
Beispiel #7
0
        public async Task Create(PersonDto dto)
        {
            var person = new Domain.Entities.Person
            {
                Name        = dto.Name,
                LastName    = dto.LastName,
                Dni         = dto.Dni,
                Cuil        = dto.Cuil,
                CellPhone   = dto.CellPhone,
                BirthDate   = dto.BirthDate,
                Email       = dto.Email,
                ErasedState = false
            };

            await _personRepository.Create(person);
        }
Beispiel #8
0
        public IActionResult Post([FromBody] Domain.Entities.Person person)
        {
            try
            {
                var result = _person.Add(person);

                _unitOfWork.Commit();

                if (result.Errors.Any())
                {
                    return(BadRequest(result.Errors));
                }


                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex));
            }
        }
Beispiel #9
0
        public async Task <Guid> CreateAsync(Domain.Entities.Person person)
        {
            Validate();

            await CreatePersonGroupIfNotExist();

            var faceperson = await Client.PersonGroupPerson.CreateAsync(
                options.CurrentValue.PersonGroupId,
                person.Name,
                person.Id.ToString());

            return(faceperson.PersonId);

            void Validate()
            {
                if (person == null)
                {
                    throw new ArgumentNullException(nameof(person));
                }
            }
        }
Beispiel #10
0
        public async Task <Unit> Handle(AddNewPersonCommand request, CancellationToken cancellationToken)
        {
            var country = await _countryRepository.GetById((int)request.CountryId);

            var person = new Domain.Entities.Person
            {
                FirstName   = request.FirstName,
                LastName    = request.LastName,
                Birthdate   = request.Birthdate,
                PhoneNumber = request.PhoneNumber,
                CellNumber  = request.CellNumber,
                Email       = request.Email,
                Photo       = request.Photo,
                Country     = country
            };

            await _personRepository.Add(person);

            await _personRepository.SaveChangesAsync();

            return(Unit.Value);
        }
Beispiel #11
0
        private static void ValidatePerson(Domain.Entities.Person person)
        {
            if (person.Age == 0)
            {
                throw new EntityException(nameof(Domain.Entities.Person.Age), "Idade nao pode ser zero.");
            }

            if (person.Name == null)
            {
                throw new EntityException(nameof(Domain.Entities.Person.Name), "Nome nao pode ser nulo.");
            }

            if (person.Name.Length < 2)
            {
                throw new EntityException(nameof(Domain.Entities.Person.Name), "Tamanho minimo do nome nao pode ser menor que dois.");
            }

            if (person.Name.Length > 50)
            {
                throw new EntityException(nameof(Domain.Entities.Person.Name), "Tamanho maximo do nome nao pode ser maior que cinquenta.");
            }
        }
 public Domain.Entities.Person CreatePerson(Domain.Entities.Person person)
 {
     person.Id = connection.QueryFirst <Guid>(
         "Exec Person_esx_create @Id, @Name, @Email, @Salary, @SalaryLiq, @SalaryBru, @Tax, @DateCalc", person);
     return(person);
 }
        public async Task UpdatePersonAsync(Domain.Entities.Person person, string key)
        {
            person.Key = key;

            await Task.Run(() => _context.Entry(person).State = EntityState.Modified);
        }
 public async Task CreatePersonAsync(Domain.Entities.Person person)
 {
     await _context.AddAsync(person);
 }
 public bool Insert(Domain.Entities.Person person)
 {
     throw new NotImplementedException();
 }
        public bool CheckIfExists(Domain.Entities.Person person)
        {
            var newPersonCpf = person.Documents.FirstOrDefault(x => x.DocumentTypeId == Domain.Enum.EDocumentType.CPF);

            return(newPersonCpf != null && _personRepository.GetByCPF(newPersonCpf.DocumentNumber) != null);
        }
 public Domain.Entities.Person SaveCalc(Domain.Entities.Person person)
 {
     connection.Execute(
         "Exec person_esx_saveCal @Name, @Email, @Salary, @SalaryLiq, @SalaryBru, @Tax, @DateCalc", person);
     return(person);
 }