private LandProperty ConvertToBusinessEntity(LAND_PROPERTY dbLandProperty) { LandProperty result = new LandProperty(); result.ID = dbLandProperty.ID; result.Area = dbLandProperty.AREA; result.UPI = dbLandProperty.UPI; result.Mortgages = new List<Mortgage>(); result.Owner = new Owner { ID = dbLandProperty.OWNER.ID, FirstName = dbLandProperty.OWNER.FIRST_NAME, LastName = dbLandProperty.OWNER.LAST_NAME, Address = dbLandProperty.OWNER.ADDRESS }; foreach (var dbMorgage in dbLandProperty.MORTGAGEs) { result.Mortgages.Add(new Mortgage { ID = dbMorgage.ID, MoneyAmount = dbMorgage.MONEY_AMOUNT, BeginDate = dbMorgage.BEGIN_DATE }); } return result; }
public void Add(LandProperty landProperty) { using (LandPropertiesDBEntities entities = new LandPropertiesDBEntities()) { LAND_PROPERTY dbObjectToAdd = new LAND_PROPERTY(); CopyDataFromBusinessToEFObject(dbObjectToAdd, landProperty); entities.LAND_PROPERTY.Add(dbObjectToAdd); entities.SaveChanges(); } }
private void CopyDataFromBusinessToEFObject(LAND_PROPERTY dbObject, LandProperty businessObject) { dbObject.AREA = businessObject.Area; dbObject.UPI = businessObject.UPI; dbObject.OWNER_ID = businessObject.Owner.ID; dbObject.MORTGAGEs.Clear(); if (businessObject.Mortgages != null && businessObject.Mortgages.Any()) { businessObject.Mortgages.ForEach(m => dbObject.MORTGAGEs.Add(new MORTGAGE { MONEY_AMOUNT = m.MoneyAmount, BEGIN_DATE = m.BeginDate })); } #region Needed, when only the deleted repositories are removed //var newlyAddedMortgages = businessObject.Mortgages.Where(lp => !dbObject.MORTGAGEs.Select(dbLp => dbLp.ID).Contains(lp.ID)).ToList(); //foreach (var mortgage in newlyAddedMortgages) //{ // dbObject.MORTGAGEs.Add(new MORTGAGE // { // MONEY_AMOUNT = mortgage.MoneyAmount, // BEGIN_DATE = mortgage.BeginDate // }); //} #endregion }