public bool SaveChanges(Bridge.Context bridgeContext) { this.Bridge = bridgeContext; foreach (Bridge.Model bridgeModel in bridgeContext.Models) { if (bridgeModel.Controller == null) { bridgeModel.Controller = this[bridgeModel]; } } foreach (Bridge.Model bridgeModel in bridgeContext.Models) { bridgeModel.UpdateChanges(bridgeContext); } this.ValidateChanges(bridgeContext); if (bridgeContext.Models.Count(x => x.Message.Type != MessageType.OK) > 0) { return(false); } this.SaveChanges(); foreach (Bridge.Model bridgeModel in bridgeContext.Models) { bridgeModel.RefreshValue(); } return(true); }
public void ValidateChanges(Bridge.Context bridgeContext) { foreach (var entry in this.ChangeTracker.Entries().Where(x => x.State != EntityState.Unchanged)) { Bridge.Model bridgeModel = bridgeContext.Models.FirstOrDefault(x => x.Controller.Model == (Data.Model)entry.Entity); if (bridgeModel == null) { bridgeModel = new Bridge.Model(this[(Data.Model)entry.Entity]); bridgeContext.Models.Add(bridgeModel); } bridgeModel.ValidateChanges(); } }