public static void MergeInto(this Marriage marriage, Marriage newMarriage) { var dummyGuid = new Guid("a813a1ff-6093-4924-a7b2-c5d1af6ff699"); if(marriage.FemaleId.GetValueOrDefault() == Guid.Empty && newMarriage.FemaleId.GetValueOrDefault() == Guid.Empty) marriage.FemaleId = Guid.Empty; if (marriage.MaleId.GetValueOrDefault() == Guid.Empty && newMarriage.MaleId.GetValueOrDefault() == Guid.Empty) marriage.MaleId = Guid.Empty; if (marriage.Date == "" && newMarriage.Date != "") marriage.Date = newMarriage.Date; if(marriage.FemaleBirthYear == 0 && newMarriage.FemaleBirthYear >0) marriage.FemaleBirthYear = newMarriage.FemaleBirthYear; if (marriage.YearIntVal == 0 && newMarriage.YearIntVal > 0) marriage.YearIntVal = newMarriage.YearIntVal; if (marriage.MaleBirthYear == 0 && newMarriage.MaleBirthYear > 0) marriage.MaleBirthYear = newMarriage.MaleBirthYear; if (marriage.FemaleCName == "" && newMarriage.FemaleCName != "") marriage.FemaleCName = newMarriage.FemaleCName; if (marriage.FemaleInfo == "" && newMarriage.FemaleInfo != "") marriage.FemaleInfo = newMarriage.FemaleInfo; if ((marriage.MaleLocationId.GetValueOrDefault() == dummyGuid || marriage.MaleLocationId.GetValueOrDefault() == Guid.Empty) && (newMarriage.MaleLocationId.GetValueOrDefault() != dummyGuid && newMarriage.MaleLocationId.GetValueOrDefault() != Guid.Empty)) marriage.MaleLocationId = newMarriage.MaleLocationId; if ((marriage.MarriageLocationId.GetValueOrDefault() == dummyGuid || marriage.MarriageLocationId.GetValueOrDefault() == Guid.Empty) && (newMarriage.MarriageLocationId.GetValueOrDefault() != dummyGuid && newMarriage.MarriageLocationId.GetValueOrDefault() != Guid.Empty)) marriage.MarriageLocationId = newMarriage.MarriageLocationId; if ((marriage.FemaleLocationId.GetValueOrDefault() == dummyGuid || marriage.FemaleLocationId.GetValueOrDefault() == Guid.Empty) && (newMarriage.FemaleLocationId.GetValueOrDefault() != dummyGuid && newMarriage.FemaleLocationId.GetValueOrDefault() != Guid.Empty)) marriage.FemaleLocationId = newMarriage.FemaleLocationId; if (newMarriage.IsBanns.GetValueOrDefault()) marriage.IsBanns = newMarriage.IsBanns; if (newMarriage.IsLicence.GetValueOrDefault()) marriage.IsLicence = newMarriage.IsLicence; if (newMarriage.FemaleIsKnownWidow.GetValueOrDefault()) marriage.FemaleIsKnownWidow = newMarriage.FemaleIsKnownWidow; if (newMarriage.MaleIsKnownWidower.GetValueOrDefault()) marriage.MaleIsKnownWidower = newMarriage.MaleIsKnownWidower; if (marriage.FemaleOccupation == "" && newMarriage.FemaleOccupation != "") marriage.FemaleOccupation = newMarriage.FemaleOccupation; if (marriage.FemaleSName == "" && newMarriage.FemaleSName != "") marriage.FemaleSName = newMarriage.FemaleSName; if (marriage.MaleCName == "" && newMarriage.MaleCName != "") marriage.MaleCName = newMarriage.MaleCName; if (marriage.MaleInfo == "" && newMarriage.MaleInfo != "") marriage.MaleInfo = newMarriage.MaleInfo; if (marriage.FemaleLocation == "" && newMarriage.FemaleLocation != "") marriage.FemaleLocation = newMarriage.FemaleLocation; if (marriage.MaleLocation == "" && newMarriage.MaleLocation != "") marriage.MaleLocation = newMarriage.MaleLocation; if (marriage.MaleOccupation == "" && newMarriage.MaleOccupation != "") marriage.MaleOccupation = newMarriage.MaleOccupation; if (marriage.MaleSName == "" && newMarriage.MaleSName != "") marriage.MaleSName = newMarriage.MaleSName; if (marriage.MarriageCounty == "" && newMarriage.MarriageCounty != "") marriage.MarriageCounty = newMarriage.MarriageCounty; if (marriage.MarriageLocation == "" && newMarriage.MarriageLocation != "") marriage.MarriageLocation = newMarriage.MarriageLocation; if (marriage.OrigFemaleSurname == "" && newMarriage.OrigFemaleSurname != "") marriage.OrigFemaleSurname = newMarriage.OrigFemaleSurname; if (marriage.OrigMaleSurname == "" && newMarriage.OrigMaleSurname != "") marriage.OrigMaleSurname = newMarriage.OrigMaleSurname; if (marriage.Source == "" && newMarriage.Source != "") marriage.Source = newMarriage.Source; }
public Guid InsertMarriage(ServiceMarriage sm) { using (var context = new GeneralModelContainer()) { var marriage = new Marriage(); if (sm.MarriageId == Guid.Empty) marriage.Marriage_Id = Guid.NewGuid(); marriage.MaleCName = sm.MaleCName; marriage.MaleSName = sm.MaleSName; marriage.MaleLocation = sm.MaleLocation; marriage.MaleInfo = sm.MaleNotes; marriage.FemaleId = Guid.Empty; marriage.FemaleCName = sm.FemaleCName; marriage.FemaleSName = sm.FemaleSName; marriage.FemaleLocation = sm.FemaleLocation; marriage.FemaleInfo = sm.FemaleNotes; marriage.Date = sm.MarriageDate; marriage.MarriageLocation = sm.MarriageLocation; marriage.YearIntVal = sm.MarriageDate.ParseToValidYear(); marriage.MarriageCounty = sm.LocationCounty; marriage.Source = sm.SourceDescription; marriage.IsLicence = sm.IsLicense; marriage.IsBanns = sm.IsBanns; marriage.MaleIsKnownWidower = sm.IsWidower; marriage.FemaleIsKnownWidow = sm.IsWidow; marriage.FemaleOccupation = sm.FemaleOccupation; marriage.MaleOccupation = sm.MaleOccupation; marriage.MarriageLocationId = sm.LocationId.ToGuid(); marriage.MaleLocationId = Guid.Empty; marriage.FemaleLocationId = Guid.Empty; marriage.UserId = sm.UserId; marriage.MaleBirthYear = sm.MaleBirthYear; marriage.FemaleBirthYear = sm.FemaleBirthYear; marriage.UniqueRef = sm.UniqueRef.ToGuid() == Guid.Empty ? Guid.NewGuid() : sm.UniqueRef.ToGuid(); marriage.TotalEvents = sm.TotalEvents.ToInt32(); marriage.EventPriority = sm.Priority.ToInt32(); marriage.Marriage_Id = System.Guid.NewGuid(); marriage.IsDeleted = false; marriage.MaleId = Guid.Empty; marriage.IsComposite = false; marriage.DateAdded = DateTime.Today; marriage.DateLastEdit = DateTime.Today; context.Marriages.Add(marriage); context.SaveChanges(); //ModelContainer.Detach(_marriage); return marriage.Marriage_Id; } }