Example #1
0
        /// <summary>
        /// Default Constructor
        /// </summary>
        /// <param name="kindOfStore">Enum KindOfStore</param>
        /// <param name="pathOrConnectionString">Path to file or ConnectionString to MSSQL</param>
        public Manager(KindOfStore kindOfStore, string pathOrConnectionString)
        {
            //set temporary paths
            if (kindOfStore == KindOfStore.KoS_File)
            {
                tempChatDirectory  = pathOrConnectionString + "\\tempChat";
                tempVoiceDirectory = pathOrConnectionString + "\\tempVoice";
                tempVideoDirectory = pathOrConnectionString + "\\tempVideo";
            }

            //set store
            switch (kindOfStore)
            {
            case KindOfStore.KoS_File:
                interfaceToOperate = new FileDatabase();
                break;

            case KindOfStore.KoS_DatabaseMSSQL:
                interfaceToOperate = new MSSQLDatabase();
                break;

            default:
                interfaceToOperate = new FileDatabase();
                break;
            }

            //attach to skype API
            ConnectToSkype();

            //create temp directory
            CreateTempDirectory();

            //attach to skype events
            ConnectToSkypeEvents();
        }
Example #2
0
        public static int UpdateCheckState(string strEntityName, string EntityKeyName, string EntityKeyValue, string CheckState)
        {
            new Utility().initEntityRelation();
            int i = 0;

            try
            {
                Type type = Type.GetType("SMT.HRM.BLL." + EntityRelation[strEntityName]);
                if (type != null)
                {
                    IOperate bll = (IOperate)Activator.CreateInstance(type);
                    SMT.Foundation.Log.Tracer.Debug("UpdateCheckState start;" + bll.GetType().Name);
                    i = bll.UpdateCheckState(strEntityName, EntityKeyName, EntityKeyValue, CheckState);
                    bll.Dispose();
                    SMT.Foundation.Log.Tracer.Debug("UpdateCheckState 返回结果;" + i.ToString());
                    SMT.Foundation.Log.Tracer.Debug("手机调用业务逻辑层 bll.Dispose();");
                }
                else
                {
                    Tracer.Debug("UpdateCheckState方法未找到" + strEntityName + "业务bll层的UpdateCheckState方法");
                    return(0);
                }
            }
            catch (Exception ex)
            {
                SMT.Foundation.Log.Tracer.Debug("strEntityName:" + strEntityName);
                SMT.Foundation.Log.Tracer.Debug("EntityKeyValue:" + EntityKeyValue);
                SMT.Foundation.Log.Tracer.Debug(ex.ToString());
            }

            return(i);
        }
Example #3
0
 public Model()
 {
     _number         = 0;
     _minusOperate   = new MinusOperate();
     _plusOperate    = new PlusOperate();
     _currentOperate = new DefaultOperate();
 }
Example #4
0
        public void Run()
        {
            char anotherDs;

            do
            {
                DataStructureTypes selectedDataStructure = SelectDataStructure();

                IDataStructure <TDataType> dataStructureInstance =
                    dataStructureFactory.GetDataStructure(selectedDataStructure);

                char anotherOperation;
                do
                {
                    object selectedOperation = SelectOperation(selectedDataStructure);

                    IOperate dsOperator = operatorFactory.GetOperator(selectedDataStructure, dataStructureInstance, selectedOperation);

                    dsOperator.Operate();

                    Console.WriteLine("Do you want to select another Operation? Y/N");
                    anotherOperation = Convert.ToChar(Console.ReadLine() ?? throw new InvalidOperationException());
                } while (anotherOperation == 'y' || anotherOperation == 'Y');

                Console.WriteLine("Do you want to select another Data Structure? Y/N");
                anotherDs = Convert.ToChar(Console.ReadLine() ?? throw new InvalidOperationException());
            } while (anotherDs == 'y' || anotherDs == 'Y');
        }
Example #5
0
        public IDbBuilder ToBuilder()
        {
            ParseFields();
            ParseId();
            ParsePk();
            ParseDependency();
            ParseUnique();

            IOperate operate = null;

            switch (this.Data.Builder.Data.Operator)
            {
            case OperateType.Update:
                operate = this.Data.Builder.Data.Setting.Update;
                break;

            case OperateType.Delete:
                operate = this.Data.Builder.Data.Setting.Delete;
                break;

            case OperateType.Insert:
                operate = this.Data.Builder.Data.Setting.Insert;
                break;
            }
            if (operate != null)
            {
                ParseOperate(operate);
            }
            return(this.Data.Builder);
        }
Example #6
0
        internal static Operate OperateHandle(Operate item, List <DeviceOperate> subList, DateTime sendTime)
        {
            item.RetryCount += 1;

            //只要发送次数超过5次,则视为发送失败
            if (item.RetryCount > 5)
            {
                item.State = OperateState.Error; return(item);
            }

            if (!Main.online.ContainsKey(item.ClientCode) || string.IsNullOrEmpty(Main.online[item.ClientCode]))
            {
                return(item);
            }

            try
            {
                IOperate    operate = OperateFactory.Create(item.FunctionCode, subList, sendTime);
                SendMessage msg     = operate.Handle(ref item);
                Main.listener.Send(Main.online[item.ClientCode], msg.ToByte());
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog("创建并下发命令时出错", ex.Message, ex.StackTrace);
            }

            return(item);
        }
Example #7
0
 public int OnUnload(Device dv, IOperate op, object arg)
 {
     if (dv.DebugMode != 0)
     {
         op.Print(MessageType.SysDebug, "OnUnload", this.Name);
     }
     return(0);
 }
Example #8
0
 public int OnLoad(Device dv, IOperate op, object arg)
 {
     if (dv.DebugMode != 0)
     {
         op.Print(MessageType.SysDebug, "OnLoad", this.Name);
     }
     sr118 = new SR118(dv, op);
     return(0);
 }
Example #9
0
        public static void Main(string[] args)
        {
            IEstabishFactory Factories;

            Factories = new Bussiness1Factory();
            IOperate Creates = Factories.EstabishFigure();

            Creates.Estabish();
        }
Example #10
0
        public int OnRun(Device dv, IOperate op, object arg)
        {
            //if (dv.DebugMode != 0) op.Print(MessageType.SysDebug, "OnRun", this.Name);
            int   ReturnValue = 0;
            float flow        = 0;

            try
            {
                flow = sr118.ReadData(SR118.MeterAddr.BroadcastAddress);
                if (flow < 0)
                {
                    ReturnValue = -1;
                }
            }
            catch
            {
                ReturnValue = -2;
            }

            foreach (IOItem item in dv.IOItems)
            {
                if (ReturnValue == 0)
                {
                    string rwFlag = op.IOReadEx(item.Name + "." + "RWFlag");

                    if (rwFlag == "R")
                    {
                        if (item.Param[0] == 0)
                        {
                            op.IOWrite(item.Name, flow.ToString("F2"));
                        }
                    }
                }

                if (item.Param[0] == 2)   //CommState
                {
                    string rwFlag = op.IOReadEx(item.Name + "." + "RWFlag");
                    if (rwFlag == "R")
                    {
                        op.IOWrite(item.Name, ReturnValue);
                    }
                }
            }
            return(ReturnValue);
        }
Example #11
0
        public static IOperate CreateOperate(string operateType)
        {
            IOperate operate = null;

            if (operateType.Equals("惩罚信息查询"))
            {
                operate = new Pulish();
            }
            else if (operateType.Equals("奖励信息查询"))
            {
                operate = new Rewarded();
            }
            else if (operateType.Equals("学生奖励审批"))
            {
                operate = new ConformReward();
            }
            else
            {
                operate = new Changed();
            }
            return(operate);
        }
Example #12
0
    public Instruction(InteractionType type, GameObject im, Item item)
    {
        target          = item;
        interactionType = type;
        switch (type)
        {
        case InteractionType.Get:
            getter = im.GetComponent <IGet>();
            break;

        case InteractionType.Put:
            putter = im.GetComponent <IPut>();
            break;

        case InteractionType.WorkAt:
            workStation = im.GetComponent <IOperate>();
            break;

        default:
            break;
        }
        location = im.transform;
    }
 public InputCalculator(string input)
 {
     currentState = new Add();
     ProcessString(input);
 }
Example #14
0
        private void ParseOperate(IOperate operate)
        {
            //-- check physical deleted or whether delete all data in db before insert
            this.Data.Builder.Data.DeleteAnyway = operate.DeleteAnyway || this.Data.Builder.Data.Setting.DeleteAnyway;
            //-- check whether delete it's children first
            this.Data.Builder.Data.DeleteChildren = operate.Where.DeleteChildren;

            // populate insert ,update, where field
            if (operate.Fields.Any())
            {
                if (operate.Fields.Any(x => !x.IsIgnore))
                {
                    this.Data.Builder.Data.Fields = this.Data.Builder.Data.AllFields.Where(x =>
                                                                                           operate.Fields.Any(o =>
                                                                                                              o.Name == x.Name &&
                                                                                                              !o.IsIgnore &&
                                                                                                              !this.Data.StrategyData.ProxyData.IgnoreColArr.Contains(x.Name) &&
                                                                                                              !x.Name.StartsWith(this.Data.StrategyData.ProxyData.IgnoreColPrefixArr) &&
                                                                                                              !x.IsId)).ToList();
                }
                else
                {
                    this.Data.Builder.Data.Fields = this.Data.Builder.Data.AllFields.Where(x =>
                                                                                           !operate.Fields.Any(o => o.Name == x.Name && o.IsIgnore) &&
                                                                                           !x.Name.StartsWith(this.Data.StrategyData.ProxyData.IgnoreColPrefixArr) &&
                                                                                           !this.Data.StrategyData.ProxyData.IgnoreColArr.Contains(x.Name) &&
                                                                                           !x.IsId).ToList();
                }
            }
            else
            {
                this.Data.Builder.Data.Fields = this.Data.Builder.Data.AllFields.Where(x =>
                                                                                       !x.Name.StartsWith(this.Data.StrategyData.ProxyData.IgnoreColPrefixArr) &&
                                                                                       !this.Data.StrategyData.ProxyData.IgnoreColArr.Contains(x.Name) &&
                                                                                       !x.IsId).ToList();
            }
            //分析指定值的 field
            if (operate.Fields.Any(x => (x.Value + "").Trim() != "" && !x.IsIgnore))
            {
                operate.Fields.Where(x => (x.Value + "").Trim() != "" && !x.IsIgnore).ToList().ForEach(x =>
                {
                    var field = this.Data.Builder.Data.Fields.FirstOrDefault(o => o.Name == x.Name);
                    if (GetSystemFieldValue != null)
                    {
                        if (field == null)
                        {
                            field = new DbField(x.DbName, GetSystemFieldValue(x.Value));
                            this.Data.Builder.Data.Fields.Add(field);
                        }
                        else
                        {
                            field.Value = GetSystemFieldValue(x.Value);
                        }
                    }
                });
            }

            // -- 处理 DbName
            operate.Fields.Where(x => !string.IsNullOrEmpty(x.DbName) && x.DbName != x.Name && !x.IsIgnore).ToList().ForEach(x =>
            {
                var field = this.Data.Builder.Data.Fields.FirstOrDefault(o => o.Name == x.Name);
                if (field != null)
                {
                    field.DbName = x.DbName;
                }
            });

            ParseWhere(operate.Where.Fields);
        }
Example #15
0
 public void SetMinusMode(int number)
 {
     _number         = number;
     _currentOperate = _minusOperate;
 }
Example #16
0
 public void SetPlusMode(int number)
 {
     _number         = number;
     _currentOperate = _plusOperate;
 }
Example #17
0
 public int GetResult()
 {
     _currentOperate = new DefaultOperate();
     return(_number);
 }
Example #18
0
 public OperateContext(IOperate <T> op)
 {
     operate = op;
 }
 private void setState(IOperate state)
 {
     currentState = state;
 }
Example #20
0
        /// <summary>
        /// Default Constructor
        /// </summary>
        /// <param name="kindOfStore">Enum KindOfStore</param>
        /// <param name="pathOrConnectionString">Path to file or ConnectionString to MSSQL</param>
        public Manager(KindOfStore kindOfStore, string pathOrConnectionString)
        {
            //set temporary paths
            if (kindOfStore == KindOfStore.KoS_File)
            {
                tempChatDirectory = pathOrConnectionString + "\\tempChat";
                tempVoiceDirectory = pathOrConnectionString + "\\tempVoice";
                tempVideoDirectory = pathOrConnectionString + "\\tempVideo";
            }

            //set store
            switch (kindOfStore)
            {
                case KindOfStore.KoS_File:
                    interfaceToOperate = new FileDatabase();
                    break;
                case KindOfStore.KoS_DatabaseMSSQL:
                    interfaceToOperate = new MSSQLDatabase();
                    break;
                default:
                    interfaceToOperate = new FileDatabase();
                    break;
            }

            //attach to skype API
            ConnectToSkype();

            //create temp directory
            CreateTempDirectory();

            //attach to skype events
            ConnectToSkypeEvents();
        }