Пример #1
0
        public PersonDto(Person person)
        {

            Id = person.Id;
            ApplicationUserId = person.ApplicationUserId;
            FirstName = person.FirstName;
            LastName = person.LastName;
            Alias = person.Alias;
            Gender = person.Gender;
            DateOfBirth = person.DateOfBirth;

            PersonsAttribute = new List<PersonsAttributeDto>();

            foreach (var pattr in person.PersonsAttribute)
            {
                var dto = new PersonsAttributeDto();

                dto.Id = pattr.Id;
                dto.PersonsAttributeCategoryId = pattr.PersonsAttributeCategoryId;

                if (pattr.PersonalSubAttribute != null)
                {
                    foreach (var personalAttribute in pattr.PersonalSubAttribute)
                    {

                        var dto1 = new PersonalSubAttributeDto();

                        dto1.PersonsAttributeId = pattr.Id;

                        dto1.Id = personalAttribute.Id;
                        dto1.FirstName = personalAttribute.FirstName;
                        dto1.LastName = personalAttribute.LastName;
                        dto1.Alias = personalAttribute.Alias;

                        dto.PersonalSubAttributeDtos.Add(dto1);
                    }
                }

                if (pattr.PhoneNumberSubAttribute != null)
                {
                    foreach (var phone in pattr.PhoneNumberSubAttribute)
                    {

                        var dto1 = new PhoneNumberSubAttributeDto();

                        dto1.PersonsAttributeId = pattr.Id;

                        dto1.Id = phone.Id;
                        dto1.Ext = phone.Ext;
                        dto1.Number = phone.Number;

                        dto.PhoneNumberSubAttributeDtos.Add(dto1);

                    }
                }

                this.PersonsAttribute.Add(dto);

            }
        }
        private void Update(PersonsAttributeDto personsAttributeDto)
        {
            var personsAttributeEntity = _personEntity.PersonsAttribute.Where(x => x.Id == personsAttributeDto.Id).FirstOrDefault();

            if (personsAttributeEntity == null)
            {
                throw new Exception("User is not authorised to update this persons attribute");
            }

            TranferInfo(personsAttributeDto, personsAttributeEntity);

            _dbContext.Entry(personsAttributeEntity).State = System.Data.Entity.EntityState.Modified;

            //update subAttrbutes (
            var personalSubAttribute = new UpdatePersonalSubAttribute(_dbContext, personsAttributeEntity, personsAttributeDto.PersonalSubAttributeDtos.ToList(), _applicationUserId);
            personalSubAttribute.PerformAction();

            var addressSubAttribute = new UpdateAddressSubAttribute(_dbContext, personsAttributeEntity, personsAttributeDto.AddressSubAttributeDtos.ToList(), _applicationUserId);
            addressSubAttribute.PerformAction();

            var phoneNumberSubAttribute = new UpdatePhoneNumberSubAttribute(_dbContext, personsAttributeEntity, personsAttributeDto.PhoneNumberSubAttributeDtos.ToList(), _applicationUserId);
            phoneNumberSubAttribute.PerformAction();

            var updateTimeFrameSubAttribute = new UpdateTimeFrameSubAttribute(_dbContext, personsAttributeEntity, personsAttributeDto.TimeFrameSubAttributeDtos.ToList(), _applicationUserId);
            updateTimeFrameSubAttribute.PerformAction();
        }
        private void TranferInfo(PersonsAttributeDto dto, PersonsAttribute entity)
        {
            if (dto.IsNew)
            {
                entity.Id = Guid.NewGuid().ToString();
            }

            entity.PersonsAttributeCategoryId = dto.PersonsAttributeCategoryId;
        }
        private void Delete(PersonsAttributeDto personsAttributeDto)
        {
            var personAttributeEntity = _personEntity.PersonsAttribute.Where(x => x.Id == personsAttributeDto.Id).FirstOrDefault();

            if (personAttributeEntity == null)
            {
                throw new Exception("User is not authorised to delete this persons attribute");
            }

            _dbContext.Entry(personAttributeEntity).State = System.Data.Entity.EntityState.Deleted;
        }
        private void Add(PersonsAttributeDto personsAttributeDto)
        {
            var personsAttributeEntity = new PersonsAttribute();
            TranferInfo(personsAttributeDto, personsAttributeEntity);

            _personEntity.PersonsAttribute.Add(personsAttributeEntity);

            //update subAttrbutes (
            var personalSubAttribute = new UpdatePersonalSubAttribute(_dbContext, personsAttributeEntity, personsAttributeDto.PersonalSubAttributeDtos.ToList() , _applicationUserId);
            personalSubAttribute.PerformAction();

            var addressSubAttribute = new UpdateAddressSubAttribute(_dbContext, personsAttributeEntity, personsAttributeDto.AddressSubAttributeDtos.ToList(), _applicationUserId);
            addressSubAttribute.PerformAction();

            var phoneNumberSubAttribute = new UpdatePhoneNumberSubAttribute(_dbContext, personsAttributeEntity, personsAttributeDto.PhoneNumberSubAttributeDtos.ToList(), _applicationUserId);
            phoneNumberSubAttribute.PerformAction();

            var updateTimeFrameSubAttribute = new UpdateTimeFrameSubAttribute(_dbContext, personsAttributeEntity, personsAttributeDto.TimeFrameSubAttributeDtos.ToList(), _applicationUserId);
            updateTimeFrameSubAttribute.PerformAction();
        }
        public PersonDto ToDto()
        {
            var personDto = new PersonDto();

            personDto.Id = PersonId;
            personDto.FirstName = FirstName;
            personDto.LastName = LastName;
            personDto.Alias = Alias;
            personDto.DateOfBirth = DateOfBirth;
            personDto.Gender = Gender.Value;

            personDto.ModifyActionRequired = ModifyActionRequired;


            personDto.PersonsAttribute = new List<PersonsAttributeDto>();

            if (EmergencyContactViewModels != null)
            {
                foreach (var evm in EmergencyContactViewModels)
                {

                    var personsAttributeDto = new PersonsAttributeDto();

                    personsAttributeDto.Id = evm.PersonsAttributeId;
                    personsAttributeDto.PersonId = personDto.Id;
                    personsAttributeDto.PersonsAttributeCategoryId = evm.PersonsAttributeCategoryId;
                    personsAttributeDto.ModifyActionRequired = evm.ModifyActionRequired; 

                    PersonalSubAttributeDto personalSubAttributeDto = new PersonalSubAttributeDto();
                    personalSubAttributeDto.Id = evm.PersonalSubAttributeId;
                    personalSubAttributeDto.FirstName = evm.FirstName;
                    personalSubAttributeDto.LastName = evm.LastName;
                    personalSubAttributeDto.Alias = evm.Alias;
                    personalSubAttributeDto.FirstName = evm.FirstName;

                    personalSubAttributeDto.ModifyActionRequired = evm.ModifyActionRequired;

                    personsAttributeDto.PersonalSubAttributeDtos.Add(personalSubAttributeDto);

                    var phoneNumberSubAttributeDto = new PhoneNumberSubAttributeDto();
                    phoneNumberSubAttributeDto.Id = evm.PhoneNumberSubAttributeId;
                    phoneNumberSubAttributeDto.Number = evm.PhoneNumber;
                    phoneNumberSubAttributeDto.ModifyActionRequired = evm.ModifyActionRequired;

                    personsAttributeDto.PhoneNumberSubAttributeDtos.Add(phoneNumberSubAttributeDto);

                    personDto.PersonsAttribute.Add(personsAttributeDto);

                }
            }

            return personDto;

        }