public static bool SavePerson(string userId, PersonDto personDto) { using (var dbContext = ApplicationDbContext.Create()) { try { if (personDto != null) { var person = dbContext.Persons.Where(x => x.Id == personDto.Id).FirstOrDefault(); var updatePersonEntity = new UpdatePersonEntity(dbContext, personDto, person, userId); person = updatePersonEntity.PerformAction(); var updatePersonAttributes = new UpdatePersonAttributes(dbContext, personDto.PersonsAttribute.ToList(), person, userId); updatePersonAttributes.PerformAction(); //person.PersonsAttribute.Add(new PersonsAttribute()); dbContext.SaveChanges(); } } catch (DbEntityValidationException e) { } } return true; }
public static PersonDto GetPerson(string personId) { using (var dbContext = new ApplicationDbContext()) { var person = dbContext.Persons .Include(p => p.PersonsAttribute) .Include(p => p.PersonsAttribute.Select(c => c.PersonalSubAttribute)) .Include(p => p.PersonsAttribute.Select(c => c.PhoneNumberSubAttribute)) .FirstOrDefault(x => x.Id == personId); var personDto = new PersonDto(person); return personDto; } }
public PersonViewModel(PersonDto person) { PersonId = person.Id; FirstName = person.FirstName; LastName = person.LastName; Alias = person.Alias; Gender = person.Gender; DateOfBirth = person.DateOfBirth; ModifyActionRequired = ModifyActionRequired.Update; EmergencyContactViewModels = new EmergencyContactViewModels(person.PersonsAttribute); //EmergencyContactViewModels.Add(new EmergencyContactViewModel(1,"sdf-Sd-rt-g1-d2", "Michael","Strange","Snig", "0423170746")); }
public UpdatePersonEntity(ApplicationDbContext dbContext, PersonDto personDto, Person personEntity, string applicationUserId) { _personDto = personDto; _personEntity = personEntity; _applicationUserId = applicationUserId; _dbContext = dbContext; }
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; }
private static void UpdatePersonAttributuesWithinEntity(ApplicationDbContext dbContext, PersonDto sourceDto, Person targetEntity) { var dbPersonAttributes = targetEntity.PersonsAttribute.ToList(); var viewPersonAttributes = sourceDto.PersonsAttribute.ToList(); // Remove update Old Attributes foreach (var dbAttr in dbPersonAttributes) { if (!viewPersonAttributes.Any(x => x.Id == dbAttr.Id)) { dbContext.Entry(dbAttr).State = EntityState.Deleted; } else { dbContext.Entry(dbAttr).State = EntityState.Modified; } } // foreach(var newAttribute) }
private static void TransferPersonInfoFromDtoToEntity(PersonDto sourceDto, Person targetEntity, bool generateNewPersonId = false) { targetEntity.Id = generateNewPersonId ? Guid.NewGuid().ToString() : sourceDto.Id; targetEntity.ApplicationUserId = sourceDto.ApplicationUserId; targetEntity.FirstName = sourceDto.FirstName; targetEntity.LastName = sourceDto.LastName; targetEntity.Alias = sourceDto.Alias; targetEntity.DateOfBirth = sourceDto.DateOfBirth; targetEntity.Gender = sourceDto.Gender; }