Exemple #1
0
        private static void Main(string[] args)
        {
            Directory.SetCurrentDirectory(Path.GetDirectoryName(Utils.GetExecutablePath()) ?? throw new InvalidOperationException());
            var identifier = $@"Global\{Controller.HttpRequest.UpdateChecker.Name}_{Directory.GetCurrentDirectory().GetClassicHashCode()}";

            using var singleInstance = new SingleInstanceService(identifier);
            if (!singleInstance.TryStartSingleInstance())
            {
                SendCommand(singleInstance, args.Length <= 0 ? Constants.ParameterMultiplyInstance : string.Join(' ', args));
                return;
            }
            using var d = singleInstance.Received.Subscribe(ArgumentsReceived);

            var app = new Application
            {
                ShutdownMode = ShutdownMode.OnExplicitShutdown
            };

            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

            SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
            app.Exit += App_Exit;

            Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense(@"##SyncfusionLicense##");

            Global.LoadConfig();

            I18NUtil.SetLanguage(Global.GuiConfig.LangName);
            ViewUtils.SetResource(app.Resources, @"../View/NotifyIconResources.xaml", 1);

            Global.Controller = new MainController();

            // Logging
            Logging.DefaultOut   = Console.Out;
            Logging.DefaultError = Console.Error;

            Utils.SetTls();

            Global.ViewController       = new MenuViewController(Global.Controller);
            SystemEvents.SessionEnding += Global.ViewController.Quit_Click;

            Global.Controller.Reload();
            if (Global.GuiConfig.IsDefaultConfig())
            {
                var res = MessageBox.Show(
                    $@"{I18NUtil.GetAppStringValue(@"DefaultConfigMessage")}{Environment.NewLine}{I18NUtil.GetAppStringValue(@"DefaultConfigQuestion")}",
                    Controller.HttpRequest.UpdateChecker.Name, MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.OK);
                switch (res)
                {
                case MessageBoxResult.Yes:
                {
                    Global.Controller.ShowConfigForm();
                    break;
                }

                case MessageBoxResult.No:
                {
                    Global.Controller.ShowSubscribeWindow();
                    break;
                }

                default:
                {
                    StopController();
                    return;
                }
                }
            }

            Reg.SetUrlProtocol(@"ssr");
            Reg.SetUrlProtocol(@"sub");

            singleInstance.StartListenServer();
            app.Run();
        }
Exemple #2
0
 public Vector3 toViewPosition(Vector2D position)
 {
     return(ViewUtils.logicToScene(position, this.viewHeight, this.clientRunTime.mapData));
 }
Exemple #3
0
 public IRawString cssIncludes(IEnumerable cssFiles) =>
 ViewUtils.CssIncludes(Context.VirtualFiles, ViewUtils.SplitStringList(cssFiles)).ToRawString();
Exemple #4
0
 public string errorResponse(ScriptScopeContext scope, ResponseStatus errorStatus, string fieldName) =>
 ViewUtils.ErrorResponse(errorStatus, fieldName);
Exemple #5
0
    public override void Refresh()
    {
        DataTime = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

        DataTimeText.text = DataTime;

        var _params  = GetParams();
        var caseType = 1;
        var payType  = 1;

        var dataReader_ = SqliteManager.Instance.SelectAllParam("casetype");

        var dataList = DataBase.GetDataList <CaseTypeData>(dataReader_, "id", "name");

        Dropdown.options.Clear();
        CaseTypeList = dataList;
        for (int i = 0; i < dataList.Count; i++)
        {
            var temoData = new Dropdown.OptionData();
            temoData.text = dataList[i].Name;
            Dropdown.options.Add(temoData);

            if (caseType == dataList[i].Id)
            {
                Dropdown.value = i;
            }
        }

        var paytypeReader = SqliteManager.Instance.SelectAllParam("paytype");

        var payTypeList = DataBase.GetDataList <PayTypeData>(paytypeReader, "id", "name");

        ViewUtils.SetPayTypeDropdown(Paytype, payTypeList, payType - 1);

        if (_params.Length > 0)
        {
            CaseData = (CaseData)_params[0];

            CaseName.text     = CaseData.Name;
            ContractId.text   = CaseData.ContractId;
            Mask.text         = CaseData.Mask.ToString();
            caseType          = CaseData.CaseType;
            payType           = CaseData.Paytype;
            Customer.text     = CaseData.Customer;
            Plaintiff.text    = CaseData.Plaintiff;
            Defendant.text    = CaseData.Defendant;
            Other.text        = CaseData.Other;
            Institution.text  = CaseData.Institution;
            Money.text        = CaseData.Money;
            Paydes.text       = CaseData.Paydes;
            DataTimeText.text = CaseData.Createtime;
            BtnName.text      = "修改案件";

            var dataReader = SqliteManager.Instance.SelectParam("usercase", "caseid", CaseData.Id.ToString());
            var masterList = DataBase.GetDataList <UserCaseData>(dataReader, "userid", "name");
            MasterList.Clear();
            foreach (var item in masterList)
            {
                var data = new UserData();
                data.Id       = item.UserId;
                data.NickName = item.UserName;
                MasterList.Add(data);
            }
            OnMasterChooseAction(MasterList);

            RefreshStageList(CaseData);
        }
        else
        {
            //新建案件
            NewCaseView();
            SetCaseNum();
        }
    }
Exemple #6
0
 public ResponseStatus getErrorStatus(ScriptScopeContext scope) =>
 scope.GetValue("errorStatus") as ResponseStatus ??
 ViewUtils.GetErrorStatus(req(scope));
Exemple #7
0
 public string[] formValues(ScriptScopeContext scope, string name) => hasErrorStatus(scope)
     ? ViewUtils.FormQueryValues(req(scope), name)
     : null;
        private void initFrm()
        {
            sCBase = new SCBase();

            ViewUtils.fomatDatePicker(txtStartDate, objGlobal.CultureInfo);
            ViewUtils.fomatDatePicker(txtEndDate, objGlobal.CultureInfo);
            ViewUtils.fomatDatePicker(txtStartInvoice, objGlobal.CultureInfo);
            ViewUtils.fomatDatePicker(txtEndInvoice, objGlobal.CultureInfo);

            //Termination
            List <ObjTmp> listTermination = new List <ObjTmp>();

            listTermination.Add(new ObjTmp("T", "Time"));
            listTermination.Add(new ObjTmp("K", "Kilometer or hour"));
            cbTemType.DataSource    = listTermination;
            cbTemType.ValueMember   = "strValue1";
            cbTemType.DisplayMember = "strText";


            //Payment period
            List <ObjTmp> listPayment = new List <ObjTmp>();

            listPayment.Add(new ObjTmp("M", "Month"));
            listPayment.Add(new ObjTmp("Q", "Quarter"));
            listPayment.Add(new ObjTmp("H", "Half year"));
            listPayment.Add(new ObjTmp("Y", "Year"));

            cbPayPeriod.DataSource    = listPayment;
            cbPayPeriod.ValueMember   = "strValue1";
            cbPayPeriod.DisplayMember = "strText";


            //Payment collection type
            List <ObjTmp> listPaymentCol = new List <ObjTmp>();

            listPaymentCol.Add(new ObjTmp(PaymentCollectionType.ESR, "ESR"));
            listPaymentCol.Add(new ObjTmp(PaymentCollectionType.Debit, "Debit"));
            listPaymentCol.Add(new ObjTmp(PaymentCollectionType.Transfer, "e-Rechnung"));
            listPaymentCol.Add(new ObjTmp(PaymentCollectionType.Plain, "Plain"));

            cbColType.DataSource    = listPaymentCol;
            cbColType.ValueMember   = "strValue1";
            cbColType.DisplayMember = "strText";


            //Payment Grouping level
            List <ObjTmp> listPaymentGrp = new List <ObjTmp>();

            listPaymentGrp.Add(new ObjTmp("C", "By customer"));
            listPaymentGrp.Add(new ObjTmp("S", "By contract"));
            listPaymentGrp.Add(new ObjTmp("F", "Flat rate"));

            cbGrpLevel.DataSource    = listPaymentGrp;
            cbGrpLevel.ValueMember   = "strValue1";
            cbGrpLevel.DisplayMember = "strText";

            //payment term: from control data
            List <clsBaseListItem> listPaymentTermDb = sCBase.GetConfig("MAKSUEHDOT");
            List <ObjTmp>          listPaymentTerm   = new List <ObjTmp>(listPaymentTermDb.Count);

            foreach (clsBaseListItem term in listPaymentTermDb)
            {
                listPaymentTerm.Add(new ObjTmp(term.strValue1, term.strText));
            }
            cbPayTerm.DataSource    = listPaymentTerm;
            cbPayTerm.ValueMember   = "strValue1";
            cbPayTerm.DisplayMember = "strText";

            //Invoicing site
            List <clsBaseListItem> listSite = sCBase.getAMSites();
            List <ObjTmp>          lstSites = new List <ObjTmp>(listSite.Count);

            foreach (clsBaseListItem site in listSite)
            {
                lstSites.Add(new ObjTmp(site.strValue1, site.strText));
            }
            cbInvoiceSite.DataSource    = lstSites;
            cbInvoiceSite.ValueMember   = "strValue1";
            cbInvoiceSite.DisplayMember = "strText";

            //Start amount payer
            listPaymentTermDb = sCBase.GetConfig("ZSCCAPPAYE");
            List <ObjTmp> listZSCCAPPAYE = new List <ObjTmp>(listPaymentTermDb.Count);
            List <ObjTmp> listMonAmount  = new List <ObjTmp>(listPaymentTermDb.Count);

            foreach (clsBaseListItem term in listPaymentTermDb)
            {
                listZSCCAPPAYE.Add(new ObjTmp(term.strValue1.ToString(), term.strText));
                listMonAmount.Add(new ObjTmp(term.strValue1.ToString(), term.strText));
            }
            txtStartAmountPayer.DataSource    = listZSCCAPPAYE;
            txtStartAmountPayer.ValueMember   = "strValue1";
            txtStartAmountPayer.DisplayMember = "strText";

            //Monthly amount player
            txtMonAmountPayer.DataSource    = listMonAmount;
            txtMonAmountPayer.ValueMember   = "strValue1";
            txtMonAmountPayer.DisplayMember = "strText";

            //Cost basis
            List <ObjTmp> listCostBs = new List <ObjTmp>();

            listCostBs.Add(new ObjTmp("M", "Monthly cost fix"));
            listCostBs.Add(new ObjTmp("K", "Km or hour cost"));
            listCostBs.Add(new ObjTmp("L", "Km or hour cost with lump amount"));
            cbCostBassis.DataSource    = listCostBs;
            cbCostBassis.ValueMember   = "strValue1";
            cbCostBassis.DisplayMember = "strText";

            //Set Billing period
            List <ObjTmp> listBiling = new List <ObjTmp>();

            listBiling.Add(new ObjTmp("M", "Monthly"));
            listBiling.Add(new ObjTmp("H", "Half year"));
            listBiling.Add(new ObjTmp("Y", "Yearly"));
            cbBiling.DataSource    = listBiling;
            cbBiling.ValueMember   = "strValue1";
            cbBiling.DisplayMember = "strText";

            //Accounting
            List <ObjTmp> listAccounting = new List <ObjTmp>();

            listAccounting.Add(new ObjTmp("H", "Only for higher km"));
            listAccounting.Add(new ObjTmp("L", "Only for lower km (return)"));
            listAccounting.Add(new ObjTmp("A", "Both higher and lower km"));
            cbAccounting.DataSource    = listAccounting;
            cbAccounting.ValueMember   = "strValue1";
            cbAccounting.DisplayMember = "strText";


            //Rolling code
            listPaymentTermDb = sCBase.GetConfig("ZSCROLLING");
            List <ObjTmp> listRolling = new List <ObjTmp>(listPaymentTermDb.Count);

            foreach (clsBaseListItem term in listPaymentTermDb)
            {
                listRolling.Add(new ObjTmp(term.strValue1.ToString(), term.strText));
            }
            cbRoll.DataSource    = listRolling;
            cbRoll.ValueMember   = "strValue1";
            cbRoll.DisplayMember = "strText";

            //Grid
            dataTable = new DataTable();
        }
 public IRawString navLink(ScriptScopeContext scope, NavItem navItem, Dictionary <string, object> options) =>
 ViewUtils.NavLink(navItem, ToNavOptions(scope, options).ForNavLink()).ToRawString();
Exemple #10
0
 public IRawString htmlHiddenInputs(Dictionary <string, object> inputValues) =>
 ViewUtils.HtmlHiddenInputs(inputValues).ToRawString();
Exemple #11
0
 ///更新当前状况下的目标和摄像机目标点位置
 private void updeteAimPosition()
 {
     this._aimCameraPosition   = ViewUtils.logicToScene(this._player.playerEntity.position, this._player.clientRunTime.mapData.cameraRadius, this._player.clientRunTime.mapData);
     this._aimCameraPosition.y = this._player.transform.localPosition.y + ViewConstant.MAP_CAMERA_OFFSET_Y;
 }
Exemple #12
0
        public static string HtmlList(IEnumerable items, HtmlDumpOptions options)
        {
            if (options == null)
            {
                options = new HtmlDumpOptions();
            }

            if (items is IDictionary <string, object> single)
            {
                items = new[] { single }
            }
            ;

            var depth      = options.Depth;
            var childDepth = options.ChildDepth;

            options.Depth += 1;

            try
            {
                var parentClass = options.ClassName;
                var childClass  = options.ChildClass;
                var className   = ((depth < childDepth ? parentClass : childClass ?? parentClass)
                                   ?? options.Defaults.GetDefaultTableClassName());

                var headerStyle = options.HeaderStyle;
                var headerTag   = options.HeaderTag ?? "th";

                var           sbHeader = StringBuilderCache.Allocate();
                var           sbRows   = StringBuilderCacheAlt.Allocate();
                List <string> keys     = null;

                foreach (var item in items)
                {
                    if (item is IDictionary <string, object> d)
                    {
                        if (keys == null)
                        {
                            keys = d.Keys.ToList();
                            sbHeader.Append("<tr>");
                            foreach (var key in keys)
                            {
                                sbHeader.Append('<').Append(headerTag).Append('>');
                                sbHeader.Append(ViewUtils.StyleText(key, headerStyle)?.HtmlEncode());
                                sbHeader.Append("</").Append(headerTag).Append('>');
                            }
                            sbHeader.Append("</tr>");
                        }

                        sbRows.Append("<tr>");
                        foreach (var key in keys)
                        {
                            var value = d[key];
                            if (ReferenceEquals(value, items))
                            {
                                break; // Prevent cyclical deps like 'it' binding
                            }
                            sbRows.Append("<td>");

                            if (!isComplexType(value))
                            {
                                sbRows.Append(GetScalarHtml(value, options.Defaults));
                            }
                            else
                            {
                                var htmlValue = HtmlDump(value, options);
                                sbRows.Append(htmlValue.AsString());
                            }

                            sbRows.Append("</td>");
                        }
                        sbRows.Append("</tr>");
                    }
                }

                var isEmpty = sbRows.Length == 0;
                if (isEmpty && options.CaptionIfEmpty == null)
                {
                    return(string.Empty);
                }

                var htmlHeaders = StringBuilderCache.ReturnAndFree(sbHeader);
                var htmlRows    = StringBuilderCacheAlt.ReturnAndFree(sbRows);

                var sb = StringBuilderCache.Allocate();
                sb.Append("<table");

                if (options.Id != null)
                {
                    sb.Append(" id=\"").Append(options.Id).Append("\"");
                }
                if (!string.IsNullOrEmpty(className))
                {
                    sb.Append(" class=\"").Append(className).Append("\"");
                }

                sb.Append(">");

                var caption = options.Caption;
                if (isEmpty)
                {
                    caption = options.CaptionIfEmpty;
                }

                if (caption != null && !options.HasCaption)
                {
                    sb.Append("<caption>").Append(caption.HtmlEncode()).Append("</caption>");
                    options.HasCaption = true;
                }

                if (htmlHeaders.Length > 0)
                {
                    sb.Append("<thead>").Append(htmlHeaders).Append("</thead>");
                }
                if (htmlRows.Length > 0)
                {
                    sb.Append("<tbody>").Append(htmlRows).Append("</tbody>");
                }

                sb.Append("</table>");

                var html = StringBuilderCache.ReturnAndFree(sb);
                return(html);
            }
            finally
            {
                options.Depth = depth;
            }
        }
Exemple #13
0
        public static string HtmlDump(object target, HtmlDumpOptions options)
        {
            if (options == null)
            {
                options = new HtmlDumpOptions();
            }

            var depth      = options.Depth;
            var childDepth = options.ChildDepth;

            options.Depth += 1;

            try
            {
                target = DefaultScripts.ConvertDumpType(target);

                if (!isComplexType(target))
                {
                    return(GetScalarHtml(target, options.Defaults));
                }

                var parentClass = options.ClassName;
                var childClass  = options.ChildClass;
                var className   = ((depth < childDepth ? parentClass : childClass ?? parentClass)
                                   ?? options.Defaults.GetDefaultTableClassName());

                var headerStyle = options.HeaderStyle;
                var headerTag   = options.HeaderTag ?? "th";

                if (target is IEnumerable e)
                {
                    var objs = e.Map(x => x);

                    var isEmpty = objs.Count == 0;
                    if (isEmpty && options.CaptionIfEmpty == null)
                    {
                        return(string.Empty);
                    }

                    var first = !isEmpty ? objs[0] : null;
                    if (first is IDictionary && objs.Count > 1)
                    {
                        return(HtmlList(objs, options));
                    }

                    var sb = StringBuilderCacheAlt.Allocate();

                    sb.Append("<table");

                    if (options.Id != null)
                    {
                        sb.Append(" id=\"").Append(options.Id).Append("\"");
                    }
                    if (!string.IsNullOrEmpty(className))
                    {
                        sb.Append(" class=\"").Append(className).Append("\"");
                    }

                    sb.Append(">");

                    var caption = options.Caption;
                    if (isEmpty)
                    {
                        caption = options.CaptionIfEmpty;
                    }

                    var holdCaption = options.HasCaption;
                    if (caption != null && !options.HasCaption)
                    {
                        sb.Append("<caption>").Append(caption.HtmlEncode()).Append("</caption>");
                        options.HasCaption = true;
                    }

                    if (!isEmpty)
                    {
                        sb.Append("<tbody>");

                        if (first is KeyValuePair <string, object> )
                        {
                            foreach (var o in objs)
                            {
                                if (o is KeyValuePair <string, object> kvp)
                                {
                                    if (kvp.Value == target)
                                    {
                                        break;                      // Prevent cyclical deps like 'it' binding
                                    }
                                    sb.Append("<tr>");
                                    sb.Append('<').Append(headerTag).Append('>');
                                    sb.Append(ViewUtils.StyleText(kvp.Key, headerStyle)?.HtmlEncode());
                                    sb.Append("</").Append(headerTag).Append('>');
                                    sb.Append("<td>");
                                    if (!isComplexType(kvp.Value))
                                    {
                                        sb.Append(GetScalarHtml(kvp.Value, options.Defaults));
                                    }
                                    else
                                    {
                                        var body = HtmlDump(kvp.Value, options);
                                        sb.Append(body.AsString());
                                    }
                                    sb.Append("</td>");
                                    sb.Append("</tr>");
                                }
                            }
                        }
                        else if (!isComplexType(first))
                        {
                            foreach (var o in objs)
                            {
                                sb.Append("<tr>");
                                sb.Append("<td>");
                                sb.Append(GetScalarHtml(o, options.Defaults));
                                sb.Append("</td>");
                                sb.Append("</tr>");
                            }
                        }
                        else
                        {
                            if (objs.Count > 1)
                            {
                                var rows = objs.Map(x => x.ToObjectDictionary());
                                StringBuilderCache.Free(sb);
                                options.HasCaption = holdCaption;
                                return(HtmlList(rows, options));
                            }
                            else
                            {
                                foreach (var o in objs)
                                {
                                    sb.Append("<tr>");

                                    if (!isComplexType(o))
                                    {
                                        sb.Append("<td>");
                                        sb.Append(GetScalarHtml(o, options.Defaults));
                                        sb.Append("</td>");
                                    }
                                    else
                                    {
                                        sb.Append("<td>");
                                        var body = HtmlDump(o, options);
                                        sb.Append(body.AsString());
                                        sb.Append("</td>");
                                    }

                                    sb.Append("</tr>");
                                }
                            }
                        }

                        sb.Append("</tbody>");
                    }

                    sb.Append("</table>");

                    var html = StringBuilderCacheAlt.ReturnAndFree(sb);
                    return(html);
                }

                return(HtmlDump(target.ToObjectDictionary(), options));
            }
            finally
            {
                options.Depth = depth;
            }
        }
 public GridSpacingItemDecoration(Context context, GridLayoutManager layoutManager, int spacingDp)
 {
     _layoutManager = layoutManager;
     _spacing       = (int)ViewUtils.DpToPx(context, spacingDp);
 }
Exemple #15
0
 public string[] formQueryValues(ScriptScopeContext scope, string name) => ViewUtils.FormQueryValues(req(scope), name);
 public IRawString navButtonGroup(ScriptScopeContext scope, List <NavItem> navItems, Dictionary <string, object> options) =>
 ViewUtils.NavButtonGroup(navItems, ToNavOptions(scope, options).ForNavButtonGroup()).ToRawString();
Exemple #17
0
 public string httpParam(ScriptScopeContext scope, string name) => ViewUtils.GetParam(req(scope), name);
 public IRawString formControl(ScriptScopeContext scope, object inputAttrs, string tagName, object inputOptions) =>
 ViewUtils.FormControl(Context.GetServiceStackFilters().req(scope), inputAttrs.AssertOptions(nameof(formControl)), tagName,
                       (inputOptions as IEnumerable <KeyValuePair <string, object> >).FromObjectDictionary <InputOptions>()).ToRawString();
Exemple #19
0
 public string formValue(ScriptScopeContext scope, string name, string defaultValue) => hasErrorStatus(scope)
     ? ViewUtils.FormQuery(req(scope), name)
     : defaultValue;
 public AutoGridLayoutManager(Context context, int minColumnWidth) : base(context, 1)
 {
     _minColumnWidth = (int)ViewUtils.DpToPx(context, minColumnWidth);
     CalculateSpanCount();
 }
Exemple #21
0
 public string errorResponseSummary(ScriptScopeContext scope, ResponseStatus errorStatus) =>
 ViewUtils.ErrorResponseSummary(errorStatus);
        private static void OnPropertyChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
        {
            var frameworkElement = dependencyObject as FrameworkElement;

            if (frameworkElement == null)
            {
                return;
            }


            var canvas = ViewUtils.GetParent(frameworkElement, (t) => t is Canvas) as Canvas;

            if (canvas == null)
            {
                return;
            }
            var  mousePosition     = Mouse.GetPosition(canvas);
            int  lastMouseMoveTime = Environment.TickCount;
            bool itemIsClicked     = false;

            double lastMousePosX = -1;
            double lastMousePosY = -1;
            double x             = 0;
            double y             = 0;

            RoutedEventHandler mouseDown = RegistredElements.ContainsKey(frameworkElement) ? RegistredElements[frameworkElement].MouseDown : null;
            RoutedEventHandler mouseUp   = RegistredElements.ContainsKey(frameworkElement) ? RegistredElements[frameworkElement].MouseUp : null;
            RoutedEventHandler mouseMove = RegistredElements.ContainsKey(frameworkElement) ? RegistredElements[frameworkElement].MouseMove : null;

            if ((bool)dependencyPropertyChangedEventArgs.NewValue)
            {
                if (!RegistredElements.ContainsKey(frameworkElement))
                {
                    RegistredElements.Add(frameworkElement, new MyHandlersData());
                    RegistredElements[frameworkElement].MouseDown = (_, __) =>
                    {
                        itemIsClicked = true;

                        //always mouse down (start dragging), update the x,y
                        x = (double)frameworkElement.GetValue(Canvas.LeftProperty);
                        y = (double)frameworkElement.GetValue(Canvas.TopProperty);

                        x = double.IsNaN(x) ? 0 : x;
                        y = double.IsNaN(y) ? 0 : y;

                        mousePosition = Mouse.GetPosition(canvas);
                        lastMousePosX = mousePosition.X;
                        lastMousePosY = mousePosition.Y;
                        Mouse.Capture(frameworkElement);
                    };

                    RegistredElements[frameworkElement].MouseUp = (_, __) =>
                    {
                        itemIsClicked = false;
                        Mouse.Capture(null);
                    };

                    RegistredElements[frameworkElement].MouseMove = (_, __) =>
                    {
                        if (itemIsClicked && ((Environment.TickCount - lastMouseMoveTime) > MouseTimeDif))
                        {
                            mousePosition = Mouse.GetPosition(canvas);
                            var containerHeight = (double)canvas.GetValue(FrameworkElement.ActualHeightProperty);
                            var containerWidth  = (double)canvas.GetValue(FrameworkElement.ActualWidthProperty);
                            var mouseDiffX      = mousePosition.X - lastMousePosX;
                            var mouseDiffY      = mousePosition.Y - lastMousePosY;

                            //                                                      if (x + mouseDiffX > 0 && y + mouseDiffY > 0 && (containerWidth <= 0 || (x + mouseDiffX <= containerWidth) && (mousePosition.X <= containerWidth)) && (containerHeight <= 0 || (y + mouseDiffY <= containerHeight && mousePosition.Y <= containerHeight)))
                            //                                                      {
                            //                                                          x = x + mouseDiffX;
                            //                                                          y = y + mouseDiffY;
                            //                                                          frameworkElement.SetValue(Canvas.LeftProperty, x);
                            //                                                          frameworkElement.SetValue(Canvas.TopProperty, y);
                            //                                                      }

                            if (x + mouseDiffX >= 0 && mousePosition.X >= 0 && (containerWidth <= 0 || (x + mouseDiffX <= containerWidth) && (mousePosition.X <= containerWidth)))
                            {
                                x = x + mouseDiffX;
                                frameworkElement.SetValue(Canvas.LeftProperty, x);
                            }
                            if (y + mouseDiffY >= 0 && mousePosition.Y >= 0 && (containerHeight <= 0 || (y + mouseDiffY <= containerHeight && mousePosition.Y <= containerHeight)))
                            {
                                y = y + mouseDiffY;
                                frameworkElement.SetValue(Canvas.TopProperty, y);
                            }
                            lastMouseMoveTime = Environment.TickCount;
                            lastMousePosX     = mousePosition.X;
                            lastMousePosY     = mousePosition.Y;
                        }
                    };

                    frameworkElement.AddHandler(Mouse.MouseDownEvent, RegistredElements[frameworkElement].MouseDown, true);
                    frameworkElement.AddHandler(Mouse.MouseUpEvent, RegistredElements[frameworkElement].MouseUp, true);
                    frameworkElement.AddHandler(Mouse.MouseMoveEvent, RegistredElements[frameworkElement].MouseMove, false);
                }
            }
            else
            {
                if (mouseDown != null)
                {
                    frameworkElement.RemoveHandler(Mouse.MouseDownEvent, mouseDown);
                }
                if (mouseUp != null)
                {
                    frameworkElement.RemoveHandler(Mouse.MouseUpEvent, mouseUp);
                }
                if (mouseMove != null)
                {
                    frameworkElement.RemoveHandler(Mouse.MouseMoveEvent, mouseMove);
                }
                if (RegistredElements.ContainsKey(frameworkElement))
                {
                    RegistredElements.Remove(frameworkElement);
                }
            }
        }
Exemple #23
0
        public static ScriptContext CreateNewContext(this ScriptScopeContext scope, Dictionary <string, object> args)
        {
            if (args == null)
            {
                return(new ScriptContext().Init());
            }

            var context = new ScriptContext();

            if (args.TryGetValue("use", out var oUse))
            {
                var use = (Dictionary <string, object>)oUse;
                if (use.TryGetValue("context", out var oContext) && oContext is bool useContext && useContext)
                {
                    return(scope.Context);
                }

                // Use same ThreadSafe plugin instance to preserve configuration
                var plugins = use.TryGetValue("plugins", out var oPlugins)
                    ? ViewUtils.ToStrings("plugins", oPlugins)
                    : null;
                if (plugins != null)
                {
                    foreach (var name in plugins)
                    {
                        var plugin = scope.Context.Plugins.FirstOrDefault(x => x.GetType().Name == name);
                        if (plugin == null)
                        {
                            throw new NotSupportedException($"Plugin '{name}' is not registered in parent context");
                        }

                        context.Plugins.Add(plugin);
                    }
                }

                // Use new filter and block instances which cannot be shared between contexts
                var methods = use.TryGetValue("methods", out var oMethods)
                    ? ViewUtils.ToStrings("methods", oMethods)
                    : use.TryGetValue("filters", out var oFilters)
                        ? ViewUtils.ToStrings("filters", oFilters)
                        : null;
                if (methods != null)
                {
                    foreach (var name in methods)
                    {
                        var filter = scope.Context.ScriptMethods.FirstOrDefault(x => x.GetType().Name == name);
                        if (filter == null)
                        {
                            throw new NotSupportedException($"Filter '{name}' is not registered in parent context");
                        }

                        context.ScriptMethods.Add(filter.GetType().CreateInstance <ScriptMethods>());
                    }
                }

                var blocks = use.TryGetValue("blocks", out var oBlocks)
                    ? ViewUtils.ToStrings("blocks", oBlocks)
                    : null;
                if (blocks != null)
                {
                    foreach (var name in blocks)
                    {
                        var useBlock = scope.Context.ScriptBlocks.FirstOrDefault(x => x.GetType().Name == name);
                        if (useBlock == null)
                        {
                            throw new NotSupportedException($"Block '{name}' is not registered in parent context");
                        }

                        context.ScriptBlocks.Add(useBlock.GetType().CreateInstance <ScriptBlock>());
                    }
                }

                args.Remove(nameof(use));
            }
            context.Init();

            return(context);
        }
 public static ResponseStatus GetErrorStatus(this ScriptScopeContext scope) =>
 scope.GetValue("errorStatus") as ResponseStatus ??
 ViewUtils.GetErrorStatus(scope.GetRequest());
Exemple #25
0
    public void OnSaveClick()
    {
        if (ContractId.text == "")
        {
            ViewUtils.MessageTips("案件编号不能空哦");
            return;
        }

        if (CaseName.text == "")
        {
            ViewUtils.MessageTips("案件名字不能空哦");
            return;
        }

        Hashtable hashtable = new Hashtable();


        if (CaseData != null)
        {
            //删除案件管理者
            Hashtable dhashtable = new Hashtable();
            dhashtable.Add(0, CaseData.Id);

            SqliteManager.Instance.DeleteRecord("usercase", "caseid", dhashtable, () => {
                AddCaseMaster(CaseData.Id);
            });

            hashtable.Add(0, CaseData.Id);
            hashtable.Add(1, CaseName.text);
            hashtable.Add(2, ContractId.text);
            hashtable.Add(3, Mask.text);
            hashtable.Add(4, CaseTypeList[Dropdown.value].Id);
            hashtable.Add(5, Customer.text);
            hashtable.Add(6, Plaintiff.text);
            hashtable.Add(7, Defendant.text);
            hashtable.Add(8, Other.text);
            hashtable.Add(9, Institution.text);
            hashtable.Add(10, Money.text);
            hashtable.Add(11, Paytype.value + 1);
            hashtable.Add(12, Paydes.text);

            var calNames1 = new string[] { "id", "name", "contractid", "mask", "casetype", "customer", "plaintiff", "defendant", "other", "institution", "money", "paytype", "paydes" };

            SqliteManager.Instance.UpateValue("case", calNames1, hashtable);

            DeleteCaseStage(CaseData.Id, () => {
                AddCaseTemplateStage(StageList, CaseData.Id);
                Close();
            });

            return;
        }

        hashtable.Add(0, CaseName.text);
        hashtable.Add(1, ContractId.text);
        hashtable.Add(2, Mask.text);
        hashtable.Add(3, 0);
        hashtable.Add(4, CaseTypeList[Dropdown.value].Id);
        hashtable.Add(5, Customer.text);
        hashtable.Add(6, Plaintiff.text);
        hashtable.Add(7, Defendant.text);
        hashtable.Add(8, Other.text);
        hashtable.Add(9, Institution.text);
        hashtable.Add(10, Money.text);
        hashtable.Add(11, Paytype.value + 1);
        hashtable.Add(12, Paydes.text);
        hashtable.Add(13, DataTime);

        var calNames = new string[] { "name", "contractid", "mask", "master", "casetype", "customer", "plaintiff", "defendant", "other", "institution", "money", "paytype", "paydes", "createtime" };

        SqliteManager.Instance.InsertValue("case", calNames, hashtable, (caseId) => {
            AddCaseTemplateStage(StageList, caseId);
            //添加负责人
            AddCaseMaster(caseId, () => {
                Close();
            });
            //保存index
            var index = GetCaseNameNum(ContractId.text);

            Hashtable dhashtable2 = new Hashtable();
            dhashtable2.Add(0, DateTime.Now.Year.ToString());
            dhashtable2.Add(1, index);
            var calNames2 = new string[] { "id", "num" + CaseTypeList[Dropdown.value].Id.ToString() };

            SqliteManager.Instance.UpateValue("casetypenum", calNames2, dhashtable2);
        });
    }
        private static void Main(string[] args)
        {
            Directory.SetCurrentDirectory(Path.GetDirectoryName(Utils.GetExecutablePath()) ?? throw new InvalidOperationException());
            if (args.Contains(Constants.ParameterSetAutoRun))
            {
                if (!AutoStartup.Switch())
                {
                    Environment.ExitCode = 1;
                }
                return;
            }

            var identifier = $@"Global\{UpdateChecker.Name}_{Directory.GetCurrentDirectory().GetDeterministicHashCode()}";

            using var singleInstance = new SingleInstance(identifier);
            if (!singleInstance.IsFirstInstance)
            {
                singleInstance.PassArgumentsToFirstInstance(args.Length == 0
                        ? args.Append(Constants.ParameterMultiplyInstance)
                        : args);
                return;
            }
            singleInstance.ArgumentsReceived += SingleInstance_ArgumentsReceived;

            var app = new Application
            {
                ShutdownMode = ShutdownMode.OnExplicitShutdown
            };

            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

            SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
            app.Exit += App_Exit;

            Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense(@"##SyncfusionLicense##");

            Global.LoadConfig();

            I18NUtil.SetLanguage(Global.GuiConfig.LangName);
            ViewUtils.SetResource(app.Resources, @"../View/NotifyIconResources.xaml", 1);

            Global.Controller = new MainController();

            // Logging
            Logging.DefaultOut   = Console.Out;
            Logging.DefaultError = Console.Error;

            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls13 | SecurityProtocolType.Tls12;

            Global.ViewController       = new MenuViewController(Global.Controller);
            SystemEvents.SessionEnding += Global.ViewController.Quit_Click;

            Global.OSSupportsLocalIPv6 = Socket.OSSupportsIPv6;
            Global.Controller.Reload();
            if (Global.GuiConfig.IsDefaultConfig())
            {
                var res = MessageBox.Show(
                    $@"{I18NUtil.GetAppStringValue(@"DefaultConfigMessage")}{Environment.NewLine}{I18NUtil.GetAppStringValue(@"DefaultConfigQuestion")}",
                    UpdateChecker.Name, MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.OK);
                switch (res)
                {
                case MessageBoxResult.Yes:
                {
                    Global.Controller.ShowConfigForm();
                    break;
                }

                case MessageBoxResult.No:
                {
                    Global.Controller.ShowSubscribeWindow();
                    break;
                }

                default:
                {
                    StopController();
                    return;
                }
                }
            }

            Reg.SetUrlProtocol(@"ssr");
            Reg.SetUrlProtocol(@"sub");

            singleInstance.ListenForArgumentsFromSuccessiveInstances();
            app.Run();
        }
        private static void Main(string[] args)
        {
            Directory.SetCurrentDirectory(Path.GetDirectoryName(Utils.GetExecutablePath()) ?? throw new InvalidOperationException());
            if (args.Contains(@"--setautorun"))
            {
                if (!AutoStartup.Switch())
                {
                    Environment.ExitCode = 1;
                }
                return;
            }

            var identifier = $@"Global\{UpdateChecker.Name}_{Directory.GetCurrentDirectory().GetDeterministicHashCode()}";

            using var singleInstance = new SingleInstance(identifier);
            if (!singleInstance.IsFirstInstance)
            {
                singleInstance.PassArgumentsToFirstInstance(args.Append(@"--show"));
                return;
            }
            singleInstance.ArgumentsReceived += SingleInstance_ArgumentsReceived;
            singleInstance.ListenForArgumentsFromSuccessiveInstances();

            var app = new Application
            {
                ShutdownMode = ShutdownMode.OnExplicitShutdown
            };

            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

            I18NUtil.SetLanguage(app.Resources, @"App");
            ViewUtils.SetResource(app.Resources, @"../View/NotifyIconResources.xaml", 1);

            SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
            app.Exit += App_Exit;

            var tryTimes = 0;

            while (Configuration.Load() == null)
            {
                if (tryTimes >= 5)
                {
                    return;
                }
                var dlg = new InputPasswordWindow();
                if (dlg.ShowDialog() == true)
                {
                    Configuration.SetPassword(dlg.Password);
                }
                else
                {
                    return;
                }
                tryTimes += 1;
            }

            _controller = new ShadowsocksController();
            HostMap.Instance().LoadHostFile();

            // Logging
            Logging.DefaultOut   = Console.Out;
            Logging.DefaultError = Console.Error;

            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls13 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

            _viewController             = new MenuViewController(_controller);
            SystemEvents.SessionEnding += _viewController.Quit_Click;

            _controller.Start();
            app.Run();
        }
Exemple #28
0
 public string formQuery(ScriptScopeContext scope, string name) => ViewUtils.FormQuery(req(scope), name);
Exemple #29
0
 public IRawString jsIncludes(IEnumerable jsFiles) =>
 ViewUtils.JsIncludes(Context.VirtualFiles, ViewUtils.SplitStringList(jsFiles)).ToRawString();
Exemple #30
0
 public static HtmlString JsIncludes(this IHtmlHelper html, params string[] jsFiles) =>
 ViewUtils.CssIncludes(HostContext.VirtualFileSources, jsFiles.ToList()).ToHtmlString();