Example #1
0
 private void Init()
 {
     Size        = new SizeF(100, 10);
     ErrorMargin = 20.0f;
     Angle       = 90.0f;
     Status      = TrafficLightStatus.Red;
 }
Example #2
0
    IEnumerator Green()
    {
        OffAll();
        status = TrafficLightStatus.Go;
        lights[0].SetActive(true);
        lights[1].SetActive(true);
        yield return(new WaitForSeconds(greenDuration));

        StartCoroutine(Yellow());
    }
Example #3
0
        public virtual void OnTrafficLightStatusChange(TrafficLightStatus status)
        {
            if (TrafficStatusChanged == null)
            {
                return;
            }
            TrafficEventArgs arg = new TrafficEventArgs(status);

            TrafficStatusChanged(this, arg);
        }
Example #4
0
    IEnumerator Red()
    {
        OffAll();
        status = TrafficLightStatus.Stop;
        lights[4].SetActive(true);
        lights[5].SetActive(true);
        yield return(new WaitForSeconds(redDuration));

        StartCoroutine(Yellow());
    }
Example #5
0
        public bool IsYellow(TrafficLightStatus CurrentStatus = TrafficLightStatus.Red)
        {
            if (this.IsRed(CurrentStatus) || this.IsUnknown(CurrentStatus))
            {
                return(false);
            }

            var factor = ((int)CurrentStatus) / 100.0;

            return((double)this.Ombord > (this.Kapasitet * factor));
        }
Example #6
0
    private void LoadNews()
    {
        //if (BusiBlocks.SecurityHelper.CanRead(Page.User, category, null) == false)
        //    throw new BusiBlocks.InvalidPermissionException("read category");
        var news = new List <Item>();

        IList <Access> accessibleList = AccessManager.GetUsersAccessibleItems(Page.User.Identity.Name, BusiBlocks.ItemType.NewsItem, BusiBlocks.AccessType.View);

        foreach (Access access in accessibleList)
        {
            Category category = NewsManager.GetCategory(access.ItemId);
            news.AddRange(NewsManager.GetPublishedItems(category, false));
        }

        List <KeyValuePair <Item, TrafficLightStatus> > newsWithTLList = new List <KeyValuePair <Item, TrafficLightStatus> >();

        if (accessibleList != null)
        {
            foreach (Item newsItem in news)
            {
                if (!newsWithTLList.Exists(i => i.Key.Id == newsItem.Id))
                {
                    if (newsItem != null)
                    {
                        TrafficLightStatus tflStatus = NewsManager.GetTrafficLight(Page.User.Identity.Name, newsItem);
                        if (tflStatus.RequiresAck)
                        {
                            if (tflStatus.Acknowledged)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            if (tflStatus.Viewed)
                            {
                                continue;
                            }
                        }
                        if (newsWithTLList.Count < 5)
                        {
                            newsWithTLList.Add(new KeyValuePair <Item, TrafficLightStatus>(newsItem, tflStatus));
                        }
                    }
                }
            }
        }

        lblNoResults.Visible = newsWithTLList.Count == 0;

        listRepeater.DataSource = newsWithTLList;
        listRepeater.DataBind();
    }
Example #7
0
 new public void SetStatus(TrafficLightStatus newStatus)
 {
     if (_sourceOfPower.SourceOfPowerSwitchOn)
     {
         this._trafficLightStatus = newStatus;
         SetStateLightBulbs(newStatus);
     }
     else
     {
         this._trafficLightStatus = TrafficLightStatus.Error;
         SetStateLightBulbs(TrafficLightStatus.Error);
     }
 }
Example #8
0
 public String?FraStopp(TrafficLightStatus CurrentStatus = TrafficLightStatus.Red)
 {
     if (CurrentStatus == TrafficLightStatus.Red)
     {
         return(this.FraStoppR);
     }
     else if (CurrentStatus == TrafficLightStatus.Yellow)
     {
         return(this.FraStoppY);
     }
     else
     {
         return(this.FraStoppG);
     }
 }
Example #9
0
 public DateTime?TilTid(TrafficLightStatus CurrentStatus = TrafficLightStatus.Red)
 {
     if (CurrentStatus == TrafficLightStatus.Red)
     {
         return(this.TilTidR);
     }
     else if (CurrentStatus == TrafficLightStatus.Yellow)
     {
         return(this.TilTidY);
     }
     else
     {
         return(this.TilTidG);
     }
 }
    /// <summary>
    /// Updates a motorised light to the preferred status
    /// </summary>
    /// <param name="lightName">Ex. motorised/6/traffic_light/0</param>
    /// <param name="status">Status of the light</param>
    public void UpdateLight(string lightName, TrafficLightStatus status)
    {
        trafficLights.Find(a => a.Name == lightName).Status         = status;
        trafficLights.Find(a => a.Name == lightName).UpdateRequired = true;

        if (lightName.Contains("cycle/3") || lightName.Contains("cycle/4"))
        {
            trafficLights.Find(a => a.Name == ReplaceLastOccurence(lightName, "0", "1")).Status         = status;
            trafficLights.Find(a => a.Name == ReplaceLastOccurence(lightName, "0", "1")).UpdateRequired = true;
        }
        if (lightName.Contains("foot"))
        {
            trafficLights.Find(a => a.Name == ReplaceLastOccurence(lightName, "0", "1")).Status         = status;
            trafficLights.Find(a => a.Name == ReplaceLastOccurence(lightName, "0", "1")).UpdateRequired = true;
        }
    }
Example #11
0
        public bool IsRed(TrafficLightStatus CurrentStatus = TrafficLightStatus.Red)
        {
            if (!this.FraTid(CurrentStatus).HasValue || !this.TilTid(CurrentStatus).HasValue || this.IsUnknown(CurrentStatus))
            {
                return(false);
            }

            var factor = ((int)CurrentStatus) / 100.0;

            if ((double)this.Ombord > (this.Kapasitet * (factor * 1.25)))
            {
                return(true);
            }
            else if (this.TilTid(CurrentStatus).Value.Subtract(this.FraTid(CurrentStatus).Value).TotalMinutes >= 15.0)
            {
                return(true);
            }

            return(false);
        }
Example #12
0
        private void SetIdIndexStatus(int ind, TrafficLightStatus s)
        {
            if (ind < 0 || ind >= Ids.Count)
            {
                return;
            }
            int id = Ids[ind];

            foreach (TrafficLight tl in TLs)
            {
                if (tl.StateId == id)
                {
                    tl.Status = s;
                }
                else
                {
                    tl.Status = TrafficLightStatus.Red;
                }
            }
        }
Example #13
0
        private void SetStateLightBulbs(TrafficLightStatus statusTrafficLights)
        {
            switch (statusTrafficLights)
            {
            case TrafficLightStatus.Error:
            {
                _greenLightBulb.SetStateBulb(LightBulbs.StateBulb.SwitchOff);
                _yellowLightBulb.SetStateBulb(LightBulbs.StateBulb.Blink);
                _redLightBulb.SetStateBulb(LightBulbs.StateBulb.SwitchOff);
                break;
            }

            case TrafficLightStatus.Go:
            {
                _greenLightBulb.SetStateBulb(LightBulbs.StateBulb.SwitchOn);
                _yellowLightBulb.SetStateBulb(LightBulbs.StateBulb.SwitchOff);
                _redLightBulb.SetStateBulb(LightBulbs.StateBulb.SwitchOff);
                break;
            }

            case TrafficLightStatus.Ready:
            {
                _greenLightBulb.SetStateBulb(LightBulbs.StateBulb.SwitchOff);
                _yellowLightBulb.SetStateBulb(LightBulbs.StateBulb.SwitchOn);
                _redLightBulb.SetStateBulb(LightBulbs.StateBulb.SwitchOn);
                break;
            }

            case TrafficLightStatus.Stop:
            {
                _greenLightBulb.SetStateBulb(LightBulbs.StateBulb.SwitchOff);
                _yellowLightBulb.SetStateBulb(LightBulbs.StateBulb.SwitchOff);
                _redLightBulb.SetStateBulb(LightBulbs.StateBulb.SwitchOn);
                break;
            }

            default: break;
            }
        }
    protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
    {
        IList <ViewStatusGridItem> items = new List <ViewStatusGridItem>();
        IList <User> totalUsers          = GetTotalUsers(NewsManager.GetItem(ItemId).Category.Id);

        foreach (User user in totalUsers)
        {
            ViewStatusGridItem item = new ViewStatusGridItem();
            item.User        = user;
            item.DisplayName = Utilities.GetDisplayUserName(user.Name);
            VersionItem publishedVersionItem = PublishedVersion;
            Item        newsItem             = NewsManager.GetItem(publishedVersionItem.ItemId);
            item.ViewStatus = Nothing;

            TrafficLightStatus tflStatus = NewsManager.GetTrafficLight(user.Name, newsItem);

            item.TrafficLight = Utilities.GetTrafficLightImageTag(tflStatus.RequiresAck, (tflStatus.Acknowledged || tflStatus.Viewed));
            items.Add(item);
        }

        RadGrid1.DataSource = items;
    }
Example #15
0
 public TrafficLightAbstract()
 {
     _trafficLightStatus = TrafficLightStatus.Error;
 }
Example #16
0
 public TrafficEventArgs()
 {
     _value = TrafficLightStatus.Green;
 }
Example #17
0
 public int FillLevel(TrafficLightStatus CurrentStatus = TrafficLightStatus.Red)
 {
     return((StatusKapasitet(CurrentStatus) - StatusKapasitet(CurrentStatus) % 20) / 5);
 }
Example #18
0
 public int StatusKapasitet(TrafficLightStatus CurrentStatus = TrafficLightStatus.Red)
 {
     return((int)Math.Floor(((double)this.Kapasitet * ((int)CurrentStatus) / 100.0)));
 }
Example #19
0
 public TrafficEventArgs()
 {
     _value = TrafficLightStatus.Green;
 }
Example #20
0
 private void btnHL_Click(object sender, EventArgs e)
 {
     switch (this.TrafficLight)
     {
         case TrafficLightStatus.Green:
             this.TrafficLight = TrafficLightStatus.Red;
             break;
         case TrafficLightStatus.Red:
             this.TrafficLight = TrafficLightStatus.Green;
             break;
     }
     OnTrafficLightStatusChange(this.TrafficLight);
 }
Example #21
0
 public TrafficEventArgs(TrafficLightStatus value)
 {
     this._value = value;
 }
Example #22
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="newStatus"></param>
 public void SetStatus(TrafficLightStatus newStatus)
 {
     this._trafficLightStatus = newStatus;
 }
Example #23
0
 public bool IsUnknown(TrafficLightStatus CurrentStatus = TrafficLightStatus.Red)
 {
     return(this.TripStatus != 1);
 }
Example #24
0
 public TrafficEventArgs(TrafficLightStatus value)
 {
     this._value = value;
 }
Example #25
0
    private string GetUserStatus(Item item, string groupId)
    {
        TrafficLightStatus tlStatus = NewsManager.GetTrafficLight(Page.User.Identity.Name, item);

        return(Utilities.GetTrafficLightImageTag(tlStatus.RequiresAck, (tlStatus.Acknowledged || tlStatus.Viewed)));
    }
Example #26
0
 public virtual void OnTrafficLightStatusChange(TrafficLightStatus status)
 {
     if (TrafficStatusChanged == null) return;
     TrafficEventArgs arg = new TrafficEventArgs(status);
     TrafficStatusChanged(this, arg);
 }