Пример #1
0
        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);
        }
Пример #2
0
        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();
            }
        }