Пример #1
0
        private dynamic createMsg(MsgNotifyType notifyType, dynamic user, dynamic ob, dynamic evtDef)
        {
            dynamic item = new SqlDataProxy(this.model, this.conFac, LoadType.Null, this.con);

            item.NotifyType    = notifyType;
            item.NotifyUser    = user.User;
            item.ObjId         = (ob.ID ?? "").ToString();
            item.View          = evtDef.View;
            item.GenerateTime  = DateTime.Now;
            item.EvtId         = evtDef.EventId;
            item.MessageId     = Guid.NewGuid();
            item.MessageFmt    = evtDef.Defination.MsgFmt;
            item.State         = MsgState.Generate;
            item.ReadOperation = evtDef.Defination.Operation;


            return(item);
        }
Пример #2
0
        public static IObjectProxy getProxy(Model mode, object id, SqlCon con, Context.ICurrentContextFactory conFac)
        {
            if (id == null)
            {
                return(null);
            }

            var ob = MemoryCache.StoreDbCache.GetDbMemoryCache(con, mode, id, conFac);

            if (ob == null)
            {
                var proxy = new SqlDataProxy(mode, conFac, LoadType.Null);
                MemoryCache.StoreDbCache.UpdateOrAddDbMemoryCache(con, mode, id, proxy);
                return(proxy);
            }

            return(ob);
        }
Пример #3
0
        private dynamic MakeEvent(dynamic defs, dynamic obj, Soway.Model.SqlCon conStr)
        {
            dynamic item = new SqlDataProxy(this.model, this.conFac, LoadType.Null, conStr);

            if (defs.Operation != null)
            {
                item.DealOpertionText = defs.Operation.Name.ToString();
            }
            item.Defination          = defs;
            item.EventGenerationTime = DateTime.Now;
            item.ObjId    = (obj.ID ?? "").ToString();
            item.View     = defs.View;
            item.EventMsg = defs.MsgFmt;
            var db = new Soway.Model.SqlServer.dbContext(conStr, this.conFac);

            if (db.IsExits(item))
            {
                return(null);
            }
            db.Create(item);

            return(item);
        }
Пример #4
0
        public static IObjectProxy LoadSqlDataQuery(Soway.Model.View.View view,
                                                    System.Data.DataRow row, SqlCon con, Context.ICurrentContextFactory conFac)
        {
            IObjectProxy proxy = new SqlDataProxy(view.Model, conFac, LoadType.Null, con);

            foreach (var viewItem in view.Items)
            {
                if (viewItem.Property.PropertyType == PropertyType.RadomDECS)
                {
                    proxy [viewItem.Property] = EncryptionClass.GetDecrptyString(
                        viewItem.Property, row, string.Format("{0}_", proxy.Model.DataTableName));
                }
                else
                if (viewItem.Property.PropertyType != PropertyType.BusinessObject)
                {
                    if (string.IsNullOrEmpty(viewItem.Property.DBName) == false)
                    {
                        proxy[viewItem.Property] = row[string.Format("{0}_{1}", proxy.Model.DataTableName, viewItem.Property.DBName)];
                    }
                }
                else
                {
                    var propertyProxy = new SqlDataProxy(viewItem.Property.Model, conFac, LoadType.Null, con);


                    if (viewItem.Property.IsMultiMap == false)
                    {
                        if (viewItem.Property.Model.ShowProperty != null
                            &&
                            row[string.Format("{0}_{1}", viewItem.Property.Name, viewItem.Property.Model.ShowProperty.DBName)]
                            != DBNull.Value)
                        {
                            if (viewItem.Property.Model.IdProperty != null)
                            {
                                propertyProxy[viewItem.Property.Model.IdProperty] = row[string.Format("{0}_{1}", viewItem.Property.Name, viewItem.Property.Model.IdProperty.DBName)];
                            }
                            if (viewItem.Property.Model.ShowProperty != null)
                            {
                                propertyProxy[viewItem.Property.Model.ShowProperty] = row[string.Format("{0}_{1}", viewItem.Property.Name, viewItem.Property.Model.ShowProperty.DBName)];
                            }
                        }
                        else
                        {
                            propertyProxy = null;
                        }
                    }
                    else
                    {
                        foreach (var map in viewItem.Property.DBMaps)
                        {
                            propertyProxy[viewItem.Property.Model.Properties.First(p => p.Name == map.PropertyName || p.PropertyName == map.PropertyName)] = row[string.Format("{0}_{1}",
                                                                                                                                                                               viewItem.Property.Name,
                                                                                                                                                                               map.PropertyName)];
                        }
                    }

                    proxy[viewItem.Property] = propertyProxy;
                }
            }
            if (proxy.Model.AutoSysId == true)
            {
                proxy.ID = row[string.Format("{0}_{1}", proxy.Model.DataTableName, "SYSID")];
            }
            else
            {
                proxy.ID = row[string.Format("{0}_{1}", proxy.Model.DataTableName, proxy.Model.IdProperty.DBName)];
            }
            return(proxy);
        }