private void SetStateToNewJourneys(Library.Entities.Booking entity, Library.Entities.Booking dbBooking) { AvoidNullValuesErrorInJourneysCollection(entity, dbBooking); foreach (var newJourney in entity.Journeys.Where(x => x.Id == 0)) { dbBooking.Journeys.Add(newJourney); } }
private void SetStateToDeletedPassengers(Library.Entities.Booking dbBooking, IEnumerable <int> entityPaxs, List <int> dbPaxs) { var deletedPaxs = dbPaxs.Except(entityPaxs).ToList(); foreach (var itemId in deletedPaxs) { var toDelete = dbBooking.Passengers.Where(x => x.Id == itemId).FirstOrDefault(); Context.Entry(toDelete).State = EntityState.Deleted; } }
private void AvoidNullValuesErrorInJourneysCollection(Library.Entities.Booking entity, Library.Entities.Booking dbBooking) { if (entity.Journeys == null) { entity.Journeys = new HashSet <Vueling.XXX.Library.Entities.Journey>(); } if (dbBooking.Journeys == null) { dbBooking.Journeys = new HashSet <Vueling.XXX.Library.Entities.Journey>(); } }
private void UpdatePassengers(Vueling.XXX.Library.Entities.Booking entity, Library.Entities.Booking dbBooking) { AvoidNullValuesErrorInPassengerCollection(entity, dbBooking); var entityPaxs = entity.Passengers.Where(x => x.Id > 0).Select(x => x.Id).ToList(); var dbPaxs = dbBooking.Passengers.Select(x => x.Id).ToList(); SetStateToDeletedPassengers(dbBooking, entityPaxs, dbPaxs); SetStateToModifiedPassengers(entity, dbBooking, entityPaxs, dbPaxs); SetStateToNewPassengers(entity, dbBooking); }
private void SetStateToModifiedJourneys(Library.Entities.Booking entity, Library.Entities.Booking dbBooking, IEnumerable <int> entityJourneys, List <int> dbJourneys) { var modifiedJourneys = entityJourneys.Intersect(dbJourneys); foreach (var itemId in modifiedJourneys) { var dbJourney = dbBooking.Journeys.Where(x => x.Id == itemId).FirstOrDefault(); var entityJourney = entity.Journeys.Where(x => x.Id == itemId).FirstOrDefault(); UpdateJourney(entityJourney, dbJourney); } }
private void UpdateJourneys(Vueling.XXX.Library.Entities.Booking entity, Library.Entities.Booking dbBooking) { AvoidNullValuesErrorInJourneysCollection(entity, dbBooking); var entityJourneys = entity.Journeys.Where(x => x.Id > 0).Select(x => x.Id).ToList(); var dbJourneys = dbBooking.Journeys.Select(x => x.Id).ToList(); SetStateToDeletedJourneys(dbBooking, entityJourneys, dbJourneys); SetStateToModifiedJourneys(entity, dbBooking, entityJourneys, dbJourneys); SetStateToNewJourneys(entity, dbBooking); }
private void SetStateToModifiedPassengers(Vueling.XXX.Library.Entities.Booking entity, Library.Entities.Booking dbBooking, IEnumerable <int> entityPaxs, List <int> dbPaxs) { var modifiedPaxs = entityPaxs.Intersect(dbPaxs); foreach (var itemId in modifiedPaxs) { var dbPax = dbBooking.Passengers.Where(x => x.Id == itemId).FirstOrDefault(); var entityPax = entity.Passengers.Where(x => x.Id == itemId).FirstOrDefault(); UpdatePax(entityPax, dbPax); } }
private void UpdateBooking(Library.Entities.Booking entity, Library.Entities.Booking dbBooking) { bool hasChanges = false; if (dbBooking.Created != entity.Created) { dbBooking.Created = entity.Created; hasChanges = true; } if (dbBooking.Modified != entity.Modified) { dbBooking.Modified = entity.Modified; hasChanges = true; } if (dbBooking.RecordLocator != entity.RecordLocator) { dbBooking.RecordLocator = entity.RecordLocator; hasChanges = true; } if (hasChanges) { Context.Entry(dbBooking).State = EntityState.Modified; } }
private void AvoidNullValuesErrorInPassengerCollection(Vueling.XXX.Library.Entities.Booking entity, Library.Entities.Booking dbBooking) { if (entity.Passengers == null) { entity.Passengers = new HashSet <Vueling.XXX.Library.Entities.Passenger>(); } if (dbBooking.Passengers == null) { dbBooking.Passengers = new HashSet <Vueling.XXX.Library.Entities.Passenger>(); } }
private void SetStateToNewPassengers(Vueling.XXX.Library.Entities.Booking entity, Library.Entities.Booking dbBooking) { AvoidNullValuesErrorInPassengerCollection(entity, dbBooking); foreach (var newPax in entity.Passengers.Where(x => x.Id == 0)) { dbBooking.Passengers.Add(newPax); } }