コード例 #1
0
        public IDrawer GetFreeLineDrawer(LineProperty lineProperty, IDrawingModuleSetup setup)
        {
            IInputReader inputReader = inputReaderFactory.GetInputReader();

            inputReader.Setup();
            return(new FreeLineDrawer(inputReader, lineProperty, setup.LinePrefab, setup.RayCamera, setup.CanvasLayer));
        }
コード例 #2
0
        public static LineRenderer InstantiateLine(LineProperty property)
        {
            var go = new GameObject("Line");
            var rd = go.AddComponent <LineRenderer>();

            rd.property = property;
            return(rd);
        }
コード例 #3
0
 public static void SetDefaultLineStyle(LineProperty line)
 {
     /*
      * color = line.color;
      * borderStyle = line.style;
      * dashLength = line.dashLength;
      * gapLength = line.gapLength;
      * angle = line.angle;
      * lineLength = line.length;
      * lineWidth = line.width;
      */
 }
コード例 #4
0
        /*
         * LINE
         */

        // TODO should probably return a line property struct,
        // and we should refactor rendering code
        static void ApplyToLine(LineProperty line)
        {
            /*
             * line.color = color;
             * line.style = borderStyle;
             * line.dashLength = dashLength;
             * line.gapLength = gapLength;
             * line.angle = angle;
             * line.length = lineLength;
             * line.width = lineWidth;
             */
        }
コード例 #5
0
        public Drawer(IInputReader inputReader, LineProperty lineProperty, GameObject linePrefab, Camera rayCamera,
                      int canvasLayer)
        {
            lineFactory = new LineFactory(linePrefab);
            layerMask   = canvasLayer;

            this.rayCamera   = rayCamera;
            this.inputReader = inputReader;

            UpdateLineProperty(lineProperty);
            SubscribeInputEvents();
        }
コード例 #6
0
        public void ChangeToFreeLine(LineProperty lineProperty)
        {
            if (isActivated)
            {
                drawer.Dispose();
                drawer = drawerFactory.GetFreeLineDrawer(lineProperty, setup);
                drawer.OnLineCreated      = OnLineCreated;
                drawer.OnLineEnded        = OnLineEnded;
                drawer.OnLineSegmentAdded = delegate(Line.Line line, Vector3 vector3) { LineSegmentAdded?.Invoke(line, vector3); };
                return;
            }

            throw new SystemIsNotActive();
        }
コード例 #7
0
 public StraightLineDrawer(IInputReader inputReader, LineProperty lineProperty, GameObject linePrefab, Camera rayCamera, int canvasLayer) : base(inputReader, lineProperty, linePrefab, rayCamera, canvasLayer)
 {
 }
コード例 #8
0
 /// <summary>����Ԓl���̕`��͈͂�ݒ肷��</summary>
 /// <param name="line">����</param>
 /// <param name="lineProperty">����Ԓl���̕`��͈�</param>
 public static void SetLineProperty(Lines line, LineProperty lineProperty)
 {
     if (lineProperties.ContainsKey(line))
     {
         lineProperties[line] = lineProperty;
     }
 }
コード例 #9
0
 public void UpdateLineProperty(LineProperty lineProperty)
 {
     drawer.UpdateLineProperty(lineProperty);
     CurrentLineProperty = lineProperty;
 }
コード例 #10
0
 // removing cast/interface improves performance
 public static void Apply(LineProperty lp)
 {
     ApplyToLine(lp);
 }
コード例 #11
0
        // GET: /ServiceOrderProcess/

        public ActionResult ServiceOrderProcess()
        {
            string userName = "";

            TempData["ServiceOrderId"]  = Session["SID"];
            TempData["WorkOrderSiteId"] = Session["SiteID"];
            userName = User.Identity.Name.ToString().Split('\\')[1];
            SerivceOrderPartLine    serivceOrderPartLineObject = new SerivceOrderPartLine();
            ServiceOrderLine        serivceOrderLineObject     = new ServiceOrderLine();
            List <ServiceOrderLine> serviceOrderLineList       = new List <ServiceOrderLine>();

            try
            {
                if (HttpContext.Session != null)
                {
                    if (Session["SiteID"] == null)
                    {
                        return(RedirectToAction("ServiceOrderWithHistory"));
                    }
                }
                if (TempData["ServiceOrderId"] != null)
                {
                    serivceOrderLineObject.ServiceOrderLineList = serviceOrderLineList;
                    serivceOrderPartLineObject.ServiceOrderLine = serivceOrderLineObject;

                    FailureCode failureCodeObject = new FailureCode();
                    IEnumerable <FailureCode> failureCodeCollection = failureCodeObject.GetFailureCode(userName);
                    failureCodeObject.FailureCodeList = new SelectList(failureCodeCollection, "FailureCodeNo", "FailureDescription", null);
                    ViewData["FailureCodeList"]       = failureCodeObject.FailureCodeList;

                    PartDetails partDetails = new PartDetails();
                    partDetails.PartDetailsList = new SelectList(partDetails.GetItemNumbers(userName), "ItemNumber", "ItemNumber", null);
                    ViewData["PartNumberList"]  = partDetails.PartDetailsList;

                    LineProperty LinePropertyObject = new LineProperty();
                    IEnumerable <LineProperty> LinePropertyCollection = LinePropertyObject.GetLineProperty(userName);
                    LinePropertyObject.LinePropertyList = new SelectList(LinePropertyCollection, "LinePropertyCode", "LinePropertyDescription", null);
                    ViewData["LinePropertyList"]        = LinePropertyObject.LinePropertyList;



                    IEnumerable <SerivceOrderPartLine> serviceOrderPartLineCollection = null;

                    serviceOrderPartLineCollection = serivceOrderPartLineObject.GetSerialNumberByServiceOrder(TempData["ServiceOrderId"].ToString(), userName);


                    serivceOrderPartLineObject.ServiceOrderPartLineList = new SelectList(serviceOrderPartLineCollection, "ServiceObjectRelation", "SerialNumber", null);


                    ViewData["SORelationList"]        = serivceOrderPartLineObject.ServiceOrderPartLineList;
                    ViewData["WorkSerialNumberList"]  = serivceOrderPartLineObject.ServiceOrderPartLineList;
                    ViewData["ServiceOrderPartLines"] = GetServiceOrderPartLinesByServiceOrderID(TempData["ServiceOrderId"].ToString());


                    ServiceOrder ServiceOrder = new ServiceOrder();
                    ServiceOrder.ServiceOrderList            = GetServiceOrderDetailsByServiceOrder(TempData["WorkOrderSiteId"].ToString(), TempData["ServiceOrderId"].ToString());
                    serivceOrderPartLineObject.ServiceOrders = ServiceOrder;
                    ViewData["ServiceOrderLineinProcess"]    = serivceOrderPartLineObject.ServiceOrders.ServiceOrderList;

                    ServiceTechnician serviceTechnician = new ServiceTechnician();
                    IEnumerable <ServiceTechnician> serviceTechnicianCollection = null;
                    serviceTechnicianCollection = serviceTechnician.GetTechnicians(userName);

                    if (!String.IsNullOrEmpty(TempData["Technician"].ToString()))
                    {
                        serviceTechnician.ServiceTechnicianList = new SelectList(serviceTechnicianCollection, "ServiceTechnicianNo", "ServiceTechnicianName", serviceTechnicianCollection.First <ServiceTechnician>().ServiceTechnicianNo = TempData["Technician"].ToString());
                    }
                    else
                    {
                        serviceTechnician.ServiceTechnicianList = new SelectList(serviceTechnicianCollection, "ServiceTechnicianNo", "ServiceTechnicianName", null);
                    }
                    ViewData["ServiceTechnicianLoadList"] = serviceTechnician.ServiceTechnicianList;

                    Site site = new Site();
                    IEnumerable <Site> siteCollection = null;
                    siteCollection = site.GetSites(userName);
                    if (!String.IsNullOrEmpty(TempData["WorkOrderSiteId"].ToString()))
                    {
                        site.SiteList = new SelectList(siteCollection, "SiteId", "SiteName", siteCollection.First <Site>().SiteID = TempData["WorkOrderSiteId"].ToString());
                    }
                    else
                    {
                        site.SiteList = new SelectList(siteCollection, "SiteId", "SiteName", siteCollection.First <Site>().SiteID);
                    }


                    ViewData["siteList"]          = site.SiteList;
                    ViewData["TranasactionTypes"] = TransactionType.GetTransactionTypes();
                    TempData.Keep();
                }
                else
                {
                    return(RedirectToAction("ServiceOrderWithHistory"));
                    // return View("ServiceOrderWithHistory", serivceOrderPartLineObject);
                    //throw new Exception("Select the service order number in Service Order with history page");
                }
            }
            catch (Exception ex)
            {
                TempData.Keep();
                ExceptionLog.LogException(ex, userName);
                // throw new Exception("Select the service order number in Service Order with history page");
                //return RedirectToAction("ServiceOrderWithHistory");
                //  return Json("Select the service order number in Service Order with history page",JsonRequestBehavior.AllowGet);
            }

            return(View(serivceOrderPartLineObject));
        }
コード例 #12
0
 public void UpdateLineProperty(LineProperty lineProperty)
 {
     this.lineProperty = lineProperty;
 }
コード例 #13
0
 protected override void CacheProperty()
 {
     cachedProperty        = property.Clone() as LineProperty;
     propertyObjectChanged = false;
 }
コード例 #14
0
 public void UpdateLineProperty(LineProperty lineProperty)
 {
 }
コード例 #15
0
ファイル: PathSetup.cs プロジェクト: SweetieXu/lhzw
        private Task <OperationResult> InternalSendLineSettings(
            LineProperty LineProperty,
            string PlateNum,
            string TerminalCode,
            List <MapLinesDetailModel> LineModel,
            TerminalOperationClient client
            )
        {
            return(Task <OperationResult> .Run(() =>
            {
                dynamic settingData = new ExpandoObject();
                settingData.LineProperty = LineProperty;
                settingData.Vehicles = new string[] { PlateNum };
                settingData.LineID = LineModel[0].ID;

                var exists = TerminalSettingsBLL.LineVehicleRelationExists(PlateNum, TerminalCode, LineModel[0].ID);
                if (exists.Item1)
                {
                    var r = new OperationResult()
                    {
                        Success = false,
                        Message = "数据库中已存在与指定车辆、区域对应的设置记录。"
                    };
                    TerminalSettingsBLL.InsertTerminalOperationsLog(
                        base.CurrentUserID,
                        TerminalSettingType.RouteSettings_Add,
                        PlateNum,
                        TerminalCode,
                        false,
                        JsonConvert.SerializeObject(settingData),
                        r.Message,
                        GetRemoteAddress()
                        );
                    return r;
                }

                var LineInflectionPointItems = new LineInflectionPointItem[LineModel.Count];
                for (int i = 0; i != LineModel.Count; i++)
                {
                    LineInflectionPointItems[i] = new LineInflectionPointItem()
                    {
                        PointID = (uint)LineModel[i].OrderID,
                        RoadID = (uint)LineModel[i].ID,
                        PointLatitude = LineModel[i].Latitude,
                        PointLongitude = LineModel[i].Longitude,
                        RoadWidth = (byte)LineModel[i].RoadWidth.GetValueOrDefault(),
                        DrivingTooLongThresholding = (ushort)LineModel[i].MaxSecond.GetValueOrDefault(),
                        DrivingTooLackThresholding = (ushort)LineModel[i].MinSecond.GetValueOrDefault(),
                        MaxSpeed = (ushort)LineModel[i].SpeedLimit.GetValueOrDefault(),
                        OverSpeedDuration = (byte)LineModel[i].OverSpeedDuration.GetValueOrDefault()
                    };

                    if (LineModel[i].IsCheckTime.HasValue && LineModel[i].IsCheckTime.Value)
                    {
                        LineInflectionPointItems[i].RoadProperty |= RoadProperty.行驶时间;
                    }
                    if (LineModel[i].IsCheckSpeed.HasValue && LineModel[i].IsCheckSpeed.Value)
                    {
                        LineInflectionPointItems[i].RoadProperty |= RoadProperty.限速;
                    }
                }

                var response = client.SetLine(TerminalCode, new LineSettingData()
                {
                    LineID = (uint)LineModel[0].ID,
                    IsCyclical = false,
                    LineProperty = LineProperty,
                    StartDateTime = DateTime.Parse(LineModel[0].StartTime),
                    EndDateTime = DateTime.Parse(LineModel[0].EndTime),
                    LineInflectionPointItems = LineInflectionPointItems
                });

                OperationResult resultElement = null;

                if (!response.State)
                {
                    //车机端操作失败
                    resultElement = new OperationResult()
                    {
                        Success = false,
                        Message = response.Message
                    };
                    TerminalSettingsBLL.InsertTerminalOperationsLog(
                        base.CurrentUserID,
                        TerminalSettingType.RouteSettings_Add,
                        PlateNum,
                        TerminalCode,
                        false,
                        JsonConvert.SerializeObject(settingData),
                        resultElement.Message,
                        GetRemoteAddress()
                        );
                }
                else
                {
                    bool success = TerminalSettingsBLL.AddLineVehicleRelation(PlateNum, TerminalCode, exists.Item2.Value, (ushort)LineProperty);
                    resultElement = new OperationResult()
                    {
                        Success = success,
                        Message = success ? DisplayText.OperationSucceeded : "车机端更新操作成功完成,更新数据库记录出错。"
                    };
                    TerminalSettingsBLL.InsertTerminalOperationsLog(
                        base.CurrentUserID,
                        TerminalSettingType.RouteSettings_Add,
                        PlateNum,
                        TerminalCode,
                        success,
                        JsonConvert.SerializeObject(settingData),
                        resultElement.Message,
                        GetRemoteAddress()
                        );
                }
                return resultElement;
            }));
        }