Example #1
0
        public UpgradeViewModel()
        {
            _querytablecallbackdelegate = new QueryTableCallBackDelegate(QueryTableCallBack);
            _addtablecallbackdelegate   = new AddTableCallBackDelegate(AddTableCallBack);
            _upgradecallbackdelegate    = new UpgradeCallBackDelegate(UpgradeCallBack);

            QueryCommand   = new DelegateCommand <object>(QueryShebeiguanli);
            OperateCommand = new DelegateCommand <object>(Operate);

            FirstPageCommand      = new DelegateCommand <object>(FirstPage);
            PrePageCommand        = new DelegateCommand <object>(PrePage);
            NextPageCommand       = new DelegateCommand <object>(NextPage);
            GotoPageCommand       = new DelegateCommand <object>(GotoPage);
            UpgradeVersionCommand = new DelegateCommand <object>(UpgradeVersion);
            UpgradeCommand        = new DelegateCommand <object>(Upgrade);
            PowerUpgradeCommand   = new DelegateCommand <object>(PowerUpgrade);
            ExportExcelCommand    = new DelegateCommand <object>(ExportExcel);
            ExportTXTCommand      = new DelegateCommand <object>(ExportTXT);
            SelectSteupCommand    = new DelegateCommand <object>(SelectSteup);

            _tableList    = new ObservableCollection <SHEBEIGUANLIModel>();
            _ruanjianList = new ObservableCollection <RUANJIANBAOModel>();
            _customInfo   = new SHEBEIGUANLIModel();
            _pagePercent  = "0/0";

            _operateenum = OperateEnum.OperateEnum_None;
            _displayMsg  = "";
            _version     = "";
            _filePath    = "";
            _Angle       = -130;
        }
Example #2
0
        private static void TreeViewOperate(TreeView view, TreeNode node, OperateEnum operate, TreeNode subnode)
        {
            if (view == null)
            {
                return;
            }
            switch (operate)
            {
            case OperateEnum.Clear:
                view.Nodes.Clear();
                break;

            case OperateEnum.Add:
                view.Nodes.Add(subnode);
                break;

            case OperateEnum.Set:
                view.SelectedNode = subnode;
                break;

            case OperateEnum.Expand:
                view.TopNode.Expand();
                break;

            case OperateEnum.NodeAdd:
                node.Nodes.Add(subnode);
                break;

            default:
                break;
            }
        }
Example #3
0
        public async Task OperateJob(Type jobType, OperateEnum operate, string id = "")
        {
            var name      = jobType.FullName + id;
            var scheduler = await _schedulerFactory.GetScheduler();

            var jobKeys = await scheduler.GetJobKeys(GroupMatcher <JobKey> .GroupEquals($"{name}Group"));

            var key = jobKeys.FirstOrDefault(x => x.Name == name);

            if (key == null)
            {
                return;
            }
            switch (operate)
            {
            case OperateEnum.Delete:
                await scheduler.DeleteJob(key);

                break;

            case OperateEnum.Pause:
                await scheduler.PauseJob(key);

                break;

            case OperateEnum.Resume:
                await scheduler.ResumeJob(key);

                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(operate), operate, null);
            }
        }
Example #4
0
 public override ResultModel AllowOperate(UserModel user, IModel obj, OperateEnum operate)
 {
     return new ResultModel()
     {
         ResultStatus = 0
     };
 }
Example #5
0
 public void QueryShebeiguanli(object obj)
 {
     _queryEnum = OperateEnum.OperateEnum_QueryDevice;
     _tableListTemp.Clear();
     tableList.Clear();
     WorkServer.QueryTable(MakeQuerySql(obj), Marshal.GetFunctionPointerForDelegate(_querytablecallbackdelegate));
 }
Example #6
0
        public override ResultModel AllowOperate(UserModel user, IModel obj, OperateEnum operate)
        {
            if (operate == OperateEnum.修改 || operate == OperateEnum.提交审核)
            {
                return new ResultModel() { ResultStatus = 0 };
            }

            return base.AllowOperate(user, obj, operate);
        }
Example #7
0
        public override ResultModel AllowOperate(UserModel user, IModel obj, OperateEnum operate)
        {
            if (operate == OperateEnum.修改 && (obj.Status == StatusEnum.已生效 || obj.Status== StatusEnum.已完成))
            {
                ResultModel result = new ResultModel();
                result.ResultStatus = 0;
                return result;
            }

            return base.AllowOperate(user, obj, operate);
        }
Example #8
0
        public override ResultModel AllowOperate(UserModel user, IModel obj, OperateEnum operate)
        {
            ResultModel result = new ResultModel();

            if (operate == OperateEnum.作废)
            {
                result.ResultStatus = 0;
                return result;
            }
            return base.AllowOperate(user, obj, operate);
        }
Example #9
0
        public override ResultModel AllowOperate(UserModel user, IModel obj, OperateEnum operate)
        {
            Model.StockOutDetail detail = obj as Model.StockOutDetail;
            if (detail != null && operate == OperateEnum.修改 && detail.StockLogId > 0)
            {
                ResultModel result = new ResultModel();
                result.ResultStatus = 0;
                return result;
            }

            return base.AllowOperate(user, obj, operate);
        }
Example #10
0
 private void Operate(object obj)
 {
     if (speedbgw != null && !speedbgw.IsBusy)
     {
         _queryEnum = OperateEnum.OperateEnum_QueryTestSpeed;
         statusText = "测速中……";
         Angle      = -130;
         IPAddress addr;
         if (IPAddress.TryParse(testIP, out addr))
         {
             WorkServer.queryDevSpeed(testIP, Marshal.GetFunctionPointerForDelegate(_querytablecallbackdelegate), true);
         }
     }
 }
Example #11
0
 public string CreateSql(OperateEnum operate)
 {
     return(CreateSql(operate, 0, 0));
 }
Example #12
0
        internal string CreateSql(OperateEnum operate, int pagesize, int pageindex)
        {
            CurrentOperate = operate;
            string where   = CreateWhereStr();
            switch (operate)
            {
            case OperateEnum.None:
                return(_tradstr);

            case OperateEnum.Insert:
                string files  = string.Empty;
                string values = string.Empty;
                if (_keyValues.Count == 0)
                {
                    GetKetValuesWithEntity();
                }
                foreach (var item in _keyValues)
                {
                    if (AppCons.IsParmes)
                    {
                        files += item.FiledName + ",";
                        string parmarmName = DbHelper.GetParameterName(item.FiledName);
                        values += parmarmName + ",";
                        AddParmarms(parmarmName, item.DataType, item.Value);
                    }
                    else
                    {
                        string dbvalue = DbHelper.ReturnDBValue(item.DataType, item.Value);
                        if (!string.IsNullOrEmpty(dbvalue))
                        {
                            files  += item.FiledName + ",";
                            values += dbvalue + ",";
                        }
                    }
                }
                return(string.Format(SqlCompilation.InsertStr, TbName, files.TrimEnd(','), values.TrimEnd(',')));

            case OperateEnum.Update:
                string setvalues = string.Empty;
                if (_keyValues.Count == 0)
                {
                    GetKetValuesWithEntity();
                }
                foreach (var item in _keyValues)
                {
                    switch (item.Type)
                    {
                    case 0:
                        if (AppCons.IsParmes)
                        {
                            string parmarmName = DbHelper.GetParameterName(item.FiledName);
                            AddParmarms(parmarmName, item.DataType, item.Value);
                            setvalues += string.Format("{0}={1},",
                                                       item.FiledName,
                                                       parmarmName);
                        }
                        else
                        {
                            string dbvalue = DbHelper.ReturnDBValue(item.DataType, item.Value);
                            if (!string.IsNullOrEmpty(dbvalue))
                            {
                                setvalues += string.Format("{0}={1},",
                                                           item.FiledName,
                                                           dbvalue);
                            }
                        }
                        break;

                    default:
                        setvalues += item.FiledName + ",";
                        break;
                    }
                }
                return(string.Format(SqlCompilation.UpdateStr, TbName, setvalues.TrimEnd(','), where));

            case OperateEnum.Delete:
                return(string.Format(SqlCompilation.DeleteStr, TbName, where));

            case OperateEnum.Select:
            {
                string order = CreateOrdeyStr();
                if (ViewList == null || ViewList.Count == 0)
                {
                    return(string.Format(SqlCompilation.SelectStr, SqlClomns,
                                         TbName,
                                         where,
                                         string.IsNullOrEmpty(order)
                                                     ? string.Empty
                                                     : string.Format("order by {0}", order),
                                         string.IsNullOrEmpty(_groupByValue)
                                                     ? string.Empty
                                                     : string.Format(" group by {0} ", _groupByValue.Trim(','))));
                }
                //视图的处理
                StringBuilder jointable = new StringBuilder();
                List <string> tables    = new List <string>();
                foreach (var item in ViewList)
                {
                    if (!tables.Contains(item.TableName1))
                    {
                        tables.Add(item.TableName1);
                        jointable.AppendLine(string.Format("{0}  as _{0} ", item.TableName1));
                    }
                    jointable.AppendLine(SqlCompilation.GetJoinEnum(item.Join));

                    jointable.AppendLine(string.Format("{0}  as _{0} ", item.TableName2));
                    for (int i = 0; i < item.Joinfields.Count; i++)
                    {
                        item.Joinfields[i].FiledName = string.Format("_{0}.{1}", item.TableName1,
                                                                     item.Joinfields[i].FiledName);
                        item.Joinfields[i].Value = string.Format("_{0}.{1}", item.TableName2,
                                                                 item.Joinfields[i].Value);
                        if (i == 0)
                        {
                            jointable.AppendLine("on");
                            jointable.AppendLine(Sqlcom.CreateWhere(item.Joinfields[i], false));
                            continue;
                        }
                        jointable.AppendLine(Sqlcom.CreateWhere(item.Joinfields[i]));
                    }
                }
                return(string.Format(SqlCompilation.SelectStr, SqlClomns,
                                     jointable,
                                     where,
                                     string.IsNullOrEmpty(order)
                                                 ? string.Empty
                                                 : string.Format("order by {0}", order),
                                     string.IsNullOrEmpty(_groupByValue)
                                                 ? string.Empty
                                                 : string.Format(" group by {0} ", _groupByValue.Trim(','))));
            }

            case OperateEnum.SelectPage:
            {
                string order = CreateOrdeyStr();
                if (ViewList == null || ViewList.Count == 0)
                {
                    _selcountstr = string.Format("select count(1) from {0}  where  1=1  {1} ", TbName, where);
                    //return string.Format(SqlCompilation.SelectStr, SqlClomns,
                    //                     TbName,
                    //                     where,
                    //                     string.IsNullOrEmpty(order)
                    //                         ? string.Empty
                    //                         : string.Format("order by {0}", order),
                    //                     string.IsNullOrEmpty(_groupByValue)
                    //                         ? string.Empty
                    //                         : string.Format(" group by {0} ", _groupByValue.Trim(',')));
                    return(DbHelper.CreatePageString(TbName, SqlClomns,
                                                     where, _groupByValue.Trim(','),
                                                     string.IsNullOrEmpty(order) ? string.Empty : order
                                                     , pageindex, pagesize, out _selcountstr));
                }
                //视图的处理
                StringBuilder jointable = new StringBuilder();
                List <string> tables    = new List <string>();
                foreach (var item in ViewList)
                {
                    string table1 = string.Empty;
                    string table2 = string.Empty;
                    table1 = string.Format("_{0} ", item.TableName1);
                    if (!tables.Contains(item.TableName1))
                    {
                        tables.Add(item.TableName1);
                        jointable.AppendLine(string.Format("{0}  as {1} ", item.TableName1, table1));
                    }
                    jointable.AppendLine(SqlCompilation.GetJoinEnum(item.Join));
                    if (!tables.Contains(item.TableName2))
                    {
                        table2 = string.Format("_{0} ", item.TableName2);
                    }
                    else
                    {
                        table2 = string.Format("_{0}{1} ", item.TableName2, tables.FindAll(p => p.Equals(item.TableName2)).Count);
                    }
                    jointable.AppendLine(string.Format("{0}  as {1} ", item.TableName2, table2));
                    tables.Add(item.TableName2);
                    for (int i = 0; i < item.Joinfields.Count; i++)
                    {
                        QueryField field = new QueryField();
                        field.FiledName = string.Format("{0}.{1}", table1,
                                                        item.Joinfields[i].FiledName);
                        field.Value = string.Format("{0}.{1}", table2, item.Joinfields[i].Value);

                        if (i == 0)
                        {
                            jointable.AppendLine("on");
                            jointable.AppendLine(Sqlcom.CreateWhere(field, false, true));
                            continue;
                        }
                        jointable.AppendLine(Sqlcom.CreateWhere(field));
                    }
                }
                return(DbHelper.CreatePageString(jointable.ToString(), SqlClomns,
                                                 where, _groupByValue.Trim(','),
                                                 string.IsNullOrEmpty(order) ? string.Empty : order
                                                 , pageindex, pagesize, out _selcountstr));
            }
            }

            return(string.Empty);
        }
Example #13
0
        public override ResultModel AllowOperate(UserModel user, IModel obj, OperateEnum operate)
        {
            ResultModel result = new ResultModel();

            bool allow = false;

            switch (operate)
            {
                case OperateEnum.作废:
                    allow = (obj.Status >= StatusEnum.已录入 && obj.Status < StatusEnum.待审核) || obj.Status == StatusEnum.绑定合约;
                    break;
                case OperateEnum.修改:
                    allow = (obj.Status >= StatusEnum.已录入 && obj.Status <= StatusEnum.待审核);
                    break;
                case OperateEnum.提交审核:
                    allow = (obj.Status >= StatusEnum.已录入 && obj.Status < StatusEnum.待审核);
                    break;
                case OperateEnum.撤返:
                    allow = obj.Status == StatusEnum.待审核;
                    break;
                case OperateEnum.冻结:
                    allow = obj.Status == StatusEnum.已生效;
                    break;
                case OperateEnum.解除冻结:
                    allow = obj.Status == StatusEnum.已冻结;
                    break;
                case OperateEnum.执行完成:
                    allow = obj.Status == StatusEnum.已生效;
                    break;
                case OperateEnum.确认完成:
                    allow = obj.Status == StatusEnum.已生效;
                    break;
                case OperateEnum.执行完成撤销:
                    allow = (obj.Status == StatusEnum.已完成 || obj.Status == StatusEnum.部分完成);
                    break;
                case OperateEnum.确认完成撤销:
                    allow = (obj.Status == StatusEnum.已完成 || obj.Status == StatusEnum.部分完成);
                    break;
                case OperateEnum.关闭:
                    allow = obj.Status == StatusEnum.已生效;
                    break;
                default:
                    allow = true;
                    break;
            }

            if (!allow)
            {
                result.ResultStatus = -1;
                result.Message = string.Format("{0}的数据不能进行{1}操作", obj.Status.ToString("F"), operate.ToString("F"));
                return result;
            }

            if (!this.OperateAuthority(user, operate))
            {
                result.ResultStatus = -1;
                result.Message = string.Format("没有当前数据的{0}权限", operate.ToString("F"));
                return result;
            }

            result.ResultStatus = 0;
            return result;
        }
Example #14
0
 public virtual bool OperateAuthority(UserModel user, OperateEnum operate)
 {
     return true;
 }
Example #15
0
        /// <summary>
        /// 动态生成控件绑定javascript代码
        /// </summary>
        /// <param name="user"></param>
        /// <param name="isCreate">是否在新增时调用</param>
        /// <returns></returns>
        public string GetListBoxsInit(UserModel user, OperateEnum operate, int contractId)
        {
            try
            {
                List<NFMT.Data.Model.ClauseContract> clauseContracts = GetClauseContracts(user);
                if (clauseContracts == null || !clauseContracts.Any())
                    return string.Empty;

                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                System.Text.StringBuilder sbCheck = new System.Text.StringBuilder();
                System.Text.StringBuilder sbMasterIdsArray = new System.Text.StringBuilder();
                NFMT.Data.BLL.ContractClauseBLL contractClauseBLL = new NFMT.Data.BLL.ContractClauseBLL();
                NFMT.Common.ResultModel result = new NFMT.Common.ResultModel();

                sb.Append("$(\"#jqxTabs\").jqxTabs({ width: \"99%\", position: \"top\" }); ");
                sb.Append(Environment.NewLine);

                int i = 0;
                foreach (int masterId in clauseContracts.Select(a => a.MasterId).Distinct())
                {
                    if (i == 1)
                    {
                        sb.Append("$('#jqxTabs').on('selected', function (event) {");
                        sb.Append(Environment.NewLine);
                        sb.Append("var clickedItem = event.args.item;");
                        sb.Append(Environment.NewLine);
                    }
                    if (i != 0)
                    {
                        sb.AppendFormat("if(clickedItem =={0}&&is{0}Inited==false) ", i.ToString());
                        sb.Append("{");
                    }

                    sb.Append("var localdataArray = [");
                    foreach (NFMT.Data.Model.ClauseContract clauseContract in clauseContracts.Where(a => a.MasterId == masterId).OrderByDescending(a => a.IsChose).ThenBy(b => b.Sort))
                    {
                        result = contractClauseBLL.Get(user, clauseContract.ClauseId);
                        if (result.ResultStatus != 0)
                            continue;
                        NFMT.Data.Model.ContractClause contractClause = result.ReturnValue as NFMT.Data.Model.ContractClause;
                        if (contractClause == null)
                            continue;

                        sb.AppendFormat("[\"{0}\",\"{1}\"],", clauseContract.ClauseId.ToString(), contractClause.ClauseText);

                        //勾选
                        if (operate == OperateEnum.新增)
                            sbCheck.Append(CreateCheckItems(user, clauseContract, masterId, i));
                    }
                    if (!string.IsNullOrEmpty(sb.ToString()))
                        sb = sb.Remove(sb.Length - 1, 1);

                    sb.Append("];");
                    sb.Append(Environment.NewLine);

                    sb.AppendFormat("var source{0}=", masterId.ToString());
                    sb.Append("{localdata:localdataArray,async:false ,datatype:\"array\",datafields: [{ name: \"id\",type: \"int\", map: \"0\" },{ name: \"name\",type: \"string\", map: \"1\"}]};");

                    sb.Append(Environment.NewLine);
                    sb.Append("try{");

                    sb.Append(Environment.NewLine);
                    sb.AppendFormat("var listboxDataAdapter{0} = new $.jqx.dataAdapter(source{0});", masterId.ToString());
                    sb.Append(Environment.NewLine);
                    sb.AppendFormat("$(\"#listbox_{0}\").jqxListBox( ", i.ToString());
                    sb.Append("{ ");
                    sb.AppendFormat("source: listboxDataAdapter{0}, checkboxes: true,displayMember: \"name\", valueMember: \"id\",autoHeight:true,width:\"99%\",allowDrag:true,autoItemsHeight: true ", masterId.ToString());
                    sb.Append(Environment.NewLine);

                    sbMasterIdsArray.Append(Environment.NewLine);
                    sbMasterIdsArray.AppendFormat("masterIds.push({0});", masterId);
                    sbMasterIdsArray.Append(Environment.NewLine);
                    sbMasterIdsArray.AppendFormat(" var is{0}Inited = false;", i.ToString());

                    sb.Append("}); ");
                    sb.Append(Environment.NewLine);
                    sb.AppendFormat("is{0}Inited = true;", i.ToString());
                    sb.Append(Environment.NewLine);
                    sb.Append(sbCheck);
                    sb.Append(Environment.NewLine);
                    sb.Append("}catch(e){alert(e.Message);}");
                    sb.Append(Environment.NewLine);

                    if (i != 0)
                        sb.Append("}");

                    i++;

                }
                if (i > 1)
                    sb.Append("})");

                //勾选
                if (operate == OperateEnum.修改 || operate == OperateEnum.明细)
                {
                    ContractClauseDAL dal = new ContractClauseDAL();
                    result = dal.LoadByContractId(user, contractId);
                    if (result.ResultStatus == 0)
                    {
                        List<Model.ContractClause> contractClauses = result.ReturnValue as List<Model.ContractClause>;
                        if (contractClauses != null && contractClauses.Any())
                        {
                            int masterId = contractClauses.First().MasterId;

                            sbCheck.AppendFormat("$('#jqxTabs').jqxTabs('select', {0}); ", string.Format("masterIds.indexOf({0})", masterId));
                            sbCheck.Append("for(var i =0;i<masterIds.length;i++){");
                            sbCheck.AppendFormat("if(masterIds[i]=={0})", masterId);
                            sbCheck.Append("{continue;}");
                            if (operate == OperateEnum.明细)
                                sbCheck.Append("$('#jqxTabs').jqxTabs('removeAt', i);");
                            //else
                            //    sbCheck.Append("$('#jqxTabs').jqxTabs('disableAt', i);");
                            sbCheck.Append("}");

                            sbCheck.Append(UpdateCheckItems(user, contractId));
                            if (operate == OperateEnum.明细)
                            {
                                sbCheck.AppendFormat("var items = $(\"#listbox_\"+{0}).jqxListBox('getItems');", string.Format("masterIds.indexOf({0})", masterId));
                                sbCheck.Append("var i =items.length-1;");
                                sbCheck.Append("for(;i>=0;i--){if(items[i].checked==false){");
                                sbCheck.AppendFormat("$(\"#listbox_\"+{0}).jqxListBox('removeItem', items[i]);", string.Format("masterIds.indexOf({0})", masterId));
                                sbCheck.Append("}}");
                            }

                            sbCheck.Append(Environment.NewLine);

                            if (operate == OperateEnum.明细)
                                sbCheck.AppendFormat("$(\"#listbox_\"+{0}).jqxListBox(\"disabled\",true);", string.Format("masterIds.indexOf({0})", masterId));
                        }
                    }
                }
                else
                    sbCheck.Clear();

                return sbMasterIdsArray.Append(sb).Append(Environment.NewLine).Append(sbCheck).Append(Environment.NewLine).ToString();
            }
            catch
            {
                return string.Empty;
            }
        }
Example #16
0
 public RayAuthorizeAttribute(OperateEnum operateEnum, ResourceEnum resourceEnum)
 {
     this.Policy = $"Ray_{operateEnum}_{resourceEnum}";
 }
Example #17
0
 public PolicyRequirement(OperateEnum operateEnum, ResourceEnum resourceEnum)
 {
     this.OperateEnum  = operateEnum;
     this.ResourceEnum = resourceEnum;
 }
Example #18
0
        public void QueryTableCallBack(string resultStr, string errorStr)
        {
            Type type = null;

            switch (_queryEnum)
            {
            case OperateEnum.OperateEnum_QueryDevice:
                type = typeof(SHEBEIGUANLIModel);
                break;

            case OperateEnum.OperateEnum_QueryTestSpeed:
                type = typeof(object);
                break;
            }


            if (type == null)
            {
                return;
            }

            System.Reflection.PropertyInfo[] properties = type.GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);

            string[] rows = resultStr.Split(';');
            foreach (string row in rows)
            {
                if (row.Length > 0)
                {
                    var model = Activator.CreateInstance(type);

                    string[] cells = row.Split(',');
                    foreach (string cell in cells)
                    {
                        string[] keyvalue = cell.Split(':');
                        if (keyvalue.Length != 2 || keyvalue[1] == null || keyvalue[1].Length == 0)
                        {
                            continue;
                        }

                        switch (_queryEnum)
                        {
                        case OperateEnum.OperateEnum_QueryTestSpeed:
                            Application.Current.Dispatcher.Invoke(
                                new Action(() =>
                            {
                                if (keyvalue[0] == "speed")
                                {
                                    double speed = Convert.ToDouble(keyvalue[1]);

                                    for (int index = 0; index < _netdatamap.Count; ++index)
                                    {
                                        KeyValuePair <Int32, Int32> kvp = _netdatamap.ElementAt(index);

                                        if ((index + 1) != _netdatamap.Count)
                                        {
                                            KeyValuePair <Int32, Int32> kvp1 = _netdatamap.ElementAt(index + 1);
                                            if (speed > kvp.Key && speed < kvp1.Key)
                                            {
                                                if (speedbgw.IsBusy)
                                                {
                                                    break;
                                                }

                                                double angleCur = -130;
                                                double angleDes = (speed - kvp.Key) / (kvp1.Key - kvp.Key) * 26 + kvp.Value;

                                                speedbgw = new BackgroundWorker();
                                                speedbgw.WorkerSupportsCancellation = true;
                                                speedbgw.WorkerReportsProgress      = true;

                                                speedbgw.DoWork += (object sender, DoWorkEventArgs ee) =>
                                                {
                                                    for (int i = 0; i < 100; ++i)
                                                    {
                                                        Thread.Sleep(50);
                                                        double span = (angleDes - (-130)) / 100;
                                                        angleCur   += span;
                                                        (sender as BackgroundWorker).ReportProgress(0, angleCur);

                                                        if (Angle >= angleDes)
                                                        {
                                                            break;
                                                        }
                                                    }
                                                };

                                                speedbgw.ProgressChanged += (object sender, ProgressChangedEventArgs ee) =>
                                                {
                                                    Angle = (double)ee.UserState;
                                                    for (int inx = 0; inx < _netdatamap.Count; ++inx)
                                                    {
                                                        KeyValuePair <Int32, Int32> kvpp = _netdatamap.ElementAt(inx);

                                                        if ((inx + 1) != _netdatamap.Count)
                                                        {
                                                            KeyValuePair <Int32, Int32> kvpp1 = _netdatamap.ElementAt(inx + 1);
                                                            if (Angle > kvpp.Value && Angle < kvpp1.Value)
                                                            {
                                                                double curspeed = (Angle - kvpp.Value) / (kvpp1.Value - kvpp.Value) * (kvpp1.Key - kvpp.Key) + kvpp.Key;
                                                                if (curspeed > 1024 * 1024)
                                                                {
                                                                    curspeed  /= 1024 * 1024;
                                                                    statusText = String.Format("{0:0.000} MByte/s", curspeed);
                                                                }
                                                                else if (curspeed > 1024)
                                                                {
                                                                    curspeed  /= 1024;
                                                                    statusText = String.Format("{0:0.000} KByte/s", curspeed);
                                                                }
                                                                else
                                                                {
                                                                    statusText = String.Format("{0:0.000} Byte/s", curspeed);
                                                                }
                                                                break;
                                                            }
                                                        }
                                                    }
                                                };
                                                speedbgw.RunWorkerCompleted += (object sender, RunWorkerCompletedEventArgs ee) =>
                                                {
                                                    if (speed > 1024 * 1024)
                                                    {
                                                        speed     /= 1024 * 1024;
                                                        statusText = String.Format("{0:0.000} MByte/s", speed);
                                                    }
                                                    else if (speed > 1024)
                                                    {
                                                        speed     /= 1024;
                                                        statusText = String.Format("{0:0.000} KByte/s", speed);
                                                    }
                                                    else
                                                    {
                                                        statusText = String.Format("{0:0.000} Byte/s", speed);
                                                    }
                                                };

                                                speedbgw.RunWorkerAsync();
                                                break;
                                            }
                                        }
                                        else
                                        {
                                            speed     /= 1024 * 1024;
                                            statusText = String.Format("{0:0.000} MByte/s", speed);
                                            break;
                                        }
                                    }
                                }
                            }));
                            break;

                        case OperateEnum.OperateEnum_QueryDevice:
                            foreach (System.Reflection.PropertyInfo item in properties)
                            {
                                if (item.Name == keyvalue[0])
                                {
                                    if (item.PropertyType.Name.StartsWith("Int32"))
                                    {
                                        item.SetValue(model, Convert.ToInt32(keyvalue[1]), null);
                                    }
                                    else if (item.PropertyType.Name.StartsWith("Int64"))
                                    {
                                        item.SetValue(model, Convert.ToInt64(keyvalue[1]), null);
                                    }
                                    else if (item.PropertyType.Name.StartsWith("String"))
                                    {
                                        switch (item.Name)
                                        {
                                        case "Chengshibianhao":
                                        case "Jubianhao":
                                        case "Shiyongdanweibianhao":
                                        case "Shebeibaifangweizhi":
                                        case "Qianzhuzhonglei":
                                        case "ZhikaZhuangtai":
                                        case "Zhengjianleixing":
                                        case "Xingbie":
                                        case "Yewuleixing":
                                            if (MainWindowViewModel._yingshelList.Keys.Contains(Convert.ToInt32(keyvalue[1])))
                                            {
                                                item.SetValue(model, MainWindowViewModel._yingshelList[Convert.ToInt32(keyvalue[1])], null);
                                            }
                                            break;

                                        case "Riqi":
                                        case "Chushengriqi":
                                        case "Jiaoyiriqi":
                                        case "Chuangjianshijian":
                                            DateTime datetime = Common.ConvertIntDateTime(Convert.ToInt64(keyvalue[1]));
                                            item.SetValue(model, datetime.ToString("yyyy-MM-dd HH:mm:ss"), null);
                                            break;

                                        case "IP":
                                            if (keyvalue[1].Length > 0)
                                            {
                                                item.SetValue(model, Common.IntToIp(IPAddress.NetworkToHostOrder((Int32)Convert.ToInt64(keyvalue[1]))), null);
                                            }
                                            break;

                                        default:
                                            item.SetValue(model, keyvalue[1], null);
                                            break;
                                        }
                                    }
                                    else if (item.PropertyType.Name.StartsWith("Boolean"))
                                    {
                                        item.SetValue(model, Convert.ToBoolean(Convert.ToInt32(keyvalue[1])), null);
                                    }
                                    else
                                    {
                                        ;
                                    }
                                    break;
                                }
                            }
                            break;
                        }
                    }
                    switch (_queryEnum)
                    {
                    case OperateEnum.OperateEnum_QueryDevice:
                        (model as SHEBEIGUANLIModel).operateinfomodel.operatemodel = OperateModelEnum.OperateModel_TestSpeed;
                        _tableListTemp.Add(model as SHEBEIGUANLIModel);
                        break;
                    }
                }
            }

            switch (_queryEnum)
            {
            case OperateEnum.OperateEnum_QueryDevice:
                Application.Current.Dispatcher.Invoke(
                    new Action(() =>
                {
                    ShowPage(1);
                }));
                break;

            case OperateEnum.OperateEnum_QueryUpgrade:
                break;
            }

            _queryEnum = OperateEnum.OperateEnum_None;
        }
Example #19
0
        public override ResultModel AllowOperate(UserModel user, IModel obj, OperateEnum operate)
        {
            Model.Document document = obj as Model.Document;

            if (operate == OperateEnum.修改 && (document.DocumentStatus == DocumentStatusEnum.已生效 || document.DocumentStatus == DocumentStatusEnum.已交单 || document.DocumentStatus == DocumentStatusEnum.银行退单))
            {
                ResultModel result = new ResultModel();
                result.ResultStatus = 0;
                return result;
            }

            return base.AllowOperate(user, obj, operate);
        }
Example #20
0
        public void QueryTableCallBack(string resultStr, string errorStr)
        {
            Type type = null;

            switch (_queryEnum)
            {
            case OperateEnum.OperateEnum_QueryDevice:
                type = typeof(SHEBEIGUANLIModel);
                break;

            case OperateEnum.OperateEnum_QueryUpgrade:
                type = typeof(RUANJIANBAOModel);
                break;
            }


            if (type == null)
            {
                return;
            }

            System.Reflection.PropertyInfo[] properties = type.GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);

            string[] rows = resultStr.Split(';');
            foreach (string row in rows)
            {
                if (row.Length > 0)
                {
                    var model = Activator.CreateInstance(type);

                    string[] cells = row.Split(',');
                    foreach (string cell in cells)
                    {
                        string[] keyvalue = cell.Split(':');
                        if (keyvalue.Length != 2 || keyvalue[1] == null || keyvalue[1].Length == 0)
                        {
                            continue;
                        }

                        foreach (System.Reflection.PropertyInfo item in properties)
                        {
                            if (item.Name == keyvalue[0])
                            {
                                if (item.PropertyType.Name.StartsWith("Int32"))
                                {
                                    item.SetValue(model, Convert.ToInt32(keyvalue[1]), null);
                                }
                                else if (item.PropertyType.Name.StartsWith("Int64"))
                                {
                                    item.SetValue(model, Convert.ToInt64(keyvalue[1]), null);
                                }
                                else if (item.PropertyType.Name.StartsWith("String"))
                                {
                                    switch (item.Name)
                                    {
                                    case "Chengshibianhao":
                                    case "Jubianhao":
                                    case "Shiyongdanweibianhao":
                                    case "Shebeibaifangweizhi":
                                    case "Qianzhuzhonglei":
                                    case "ZhikaZhuangtai":
                                    case "Zhengjianleixing":
                                    case "Xingbie":
                                    case "Yewuleixing":
                                        if (MainWindowViewModel._yingshelList.Keys.Contains(Convert.ToInt32(keyvalue[1])))
                                        {
                                            item.SetValue(model, MainWindowViewModel._yingshelList[Convert.ToInt32(keyvalue[1])], null);
                                        }
                                        break;

                                    case "Riqi":
                                    case "Chushengriqi":
                                    case "Jiaoyiriqi":
                                    case "Chuangjianshijian":
                                        DateTime datetime = Common.ConvertIntDateTime(Convert.ToInt64(keyvalue[1]));
                                        item.SetValue(model, datetime.ToString("yyyy-MM-dd HH:mm:ss"), null);
                                        break;

                                    case "IP":
                                        if (keyvalue[1].Length > 0)
                                        {
                                            item.SetValue(model, Common.IntToIp(IPAddress.NetworkToHostOrder((Int32)Convert.ToInt64(keyvalue[1]))), null);
                                        }
                                        break;

                                    default:
                                        item.SetValue(model, keyvalue[1], null);
                                        break;
                                    }
                                }
                                else if (item.PropertyType.Name.StartsWith("Boolean"))
                                {
                                    item.SetValue(model, Convert.ToBoolean(Convert.ToInt32(keyvalue[1])), null);
                                }
                                else
                                {
                                    ;
                                }
                                break;
                            }
                        }
                    }
                    switch (_queryEnum)
                    {
                    case OperateEnum.OperateEnum_QueryDevice:
                        (model as SHEBEIGUANLIModel).operateinfomodel.operatemodel = OperateModelEnum.OperateModel_Upgrade;
                        _tableListTemp.Add(model as SHEBEIGUANLIModel);
                        break;

                    case OperateEnum.OperateEnum_QueryUpgrade:
                        Application.Current.Dispatcher.Invoke(
                            new Action(() =>
                        {
                            ruanjianList.Add(model as RUANJIANBAOModel);
                        }));
                        break;
                    }
                }
            }

            switch (_queryEnum)
            {
            case OperateEnum.OperateEnum_QueryDevice:
                Application.Current.Dispatcher.Invoke(
                    new Action(() =>
                {
                    ShowPage(1);
                }));
                break;

            case OperateEnum.OperateEnum_QueryUpgrade:
                break;
            }

            _queryEnum = OperateEnum.OperateEnum_None;
        }
Example #21
0
 public void QueryRuanjianbao(object obj)
 {
     _queryEnum = OperateEnum.OperateEnum_QueryUpgrade;
     ruanjianList.Clear();
     WorkServer.QueryTable("Select Bianhao as Bianhao,Banbenhao as Banbenhao From Ruanjianbao", Marshal.GetFunctionPointerForDelegate(_querytablecallbackdelegate), false);
 }