aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/UsersAndRolesModule.cs
blob: ac471db06fa85ee61c8389d9293d6231561b07aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Media.Imaging;
using Tango.BL.Enumerations;
using Tango.MachineStudio.Common;
using Tango.MachineStudio.UsersAndRoles.Views;
using Tango.SharedUI.Helpers;

namespace Tango.MachineStudio.UsersAndRoles
{
    public class UsersAndRolesModule : StudioModuleBase
    {
        public override string Name
        {
            get
            {
                return "Users & Roles";
            }
        }

        public override string Description
        {
            get
            {
                return "Manage organizations users and their roles.";
            }
        }

        public override BitmapSource Image
        {
            get
            {
                return ResourceHelper.GetImageFromResources("Images/users-and-roles.jpg");
            }
        }

        /// <summary>
        /// Gets the module entry point view type.
        /// </summary>
        public override Type MainViewType
        {
            get
            {
                return typeof(MainView);
            }
        }

        public override Permissions Permission
        {
            get
            {
                return Permissions.RunUsersAndRolesModule;
            }
        }

        public override void Dispose()
        {
           
        }
    }
}
class="w"> RealTimeGraphEx.Models { public class RealTimeGraphExReachPolygon { public List<Point> Points { get; set; } public List<double> ActualValues { get; set; } public int TotalPoints { get { return Points.Count; } } public RealTimeGraphExReachPolygon() { Points = new List<Point>(); ActualValues = new List<double>(); } public Point Add(double xValue, double yValue, double actualValue) { var p = new Point(xValue, yValue); Points.Add(p); ActualValues.Add(actualValue); return p; } public Point Replace(double xValue, double yValue, double actualValue, int index) { var p = new Point(xValue, yValue); Points.RemoveAt(index); Points.Insert(index, p); ActualValues.RemoveAt(index); ActualValues.Insert(index, actualValue); return p; } public void RemoveFromStart(int count) { lock (Points) { Points.RemoveRange(0, count); ActualValues.RemoveRange(0, count); double offSet = Points[0].X; for (int i = 0; i < Points.Count; i++) { Points[i] = new Point(Points[i].X - offSet, Points[i].Y); } } } public void ClearPoints() { Points.Clear(); } public void ClearActualPoints() { ActualValues.Clear(); } public List<Point> ToPolygonPointsFill(double width, double height) { lock (Points) { List<Point> points = new List<Point>(); for (int i = 0; i < Points.Count; i++) { points.Add(Points[i]); } points.Add(new Point(width, height)); points.Add(new Point(0, height)); points.Add(new Point(0, points[0].Y)); return points; } } public List<Point> ToPolygonPointsFill(double width, double height, double scaleFactor, Func<double, double> scaleY) { double xValue = 0; lock (Points) { List<Point> points = new List<Point>(); for (int i = 0; i < Points.Count; i++) { points.Add(new Point(xValue, scaleY(Points[i].Y))); xValue += scaleFactor; } points.Add(new Point(xValue, height)); points.Add(new Point(0, height)); points.Add(new Point(0, points[0].Y)); return points; } } public List<Point> ToPolygonPoints(double width, double height, double scaleFactor, Func<double, double> scaleY) { double xValue = 0; lock (Points) { List<Point> points = new List<Point>(); for (int i = 0; i < Points.Count; i++) { points.Add(new Point(xValue, scaleY(Points[i].Y))); xValue += scaleFactor; } return points; } } public List<Point> ToPolygonPointsWaveFill(double width, double height) { lock (Points) { List<Point> points = new List<Point>(); for (int i = 0; i < Points.Count; i++) { points.Add(Points[i]); } for (int i = Points.Count - 1; i >= 0; i--) { points.Add(new Point(Points[i].X, (height - Points[i].Y))); } points.Add(new Point(points[0].X, (height / 2))); points.Add(new Point(0, (height / 2))); points.Add(new Point(0, points[0].Y)); return points; } } public List<Point> ToPolygonPointsWaveFill(double width, double height, double scaleFactor, Func<double, double> scaleY) { if (Points.Count == 0) return new List<Point>(); double xValue = 0; lock (Points) { List<Point> points = new List<Point>(); for (int i = 0; i < Points.Count; i++) { points.Add(new Point(xValue, scaleY(Points[i].Y))); xValue += scaleFactor; } //points.Add(new Point(width, points[points.Count - 1].Y)); points.Add(new Point(width, (height / 2))); points.Add(new Point(width, (height - scaleY(Points[Points.Count - 1].Y)))); xValue -= scaleFactor; for (int i = Points.Count - 1; i >= 0; i--) { points.Add(new Point(xValue, (height - scaleY(Points[i].Y)))); xValue -= scaleFactor; } points.Add(new Point(0, points[points.Count - 1].Y)); points.Add(new Point(0, (height / 2))); points.Add(new Point(0, (height / 2))); points.Add(new Point(0, points[0].Y)); return points; } } public List<Point> ToPolygonPointsWave(double width, double height, double scaleFactor, Func<double, double> scaleY) { if (Points.Count == 0) return new List<Point>(); double xValue = 0; lock (Points) { List<Point> points = new List<Point>(); for (int i = 0; i < Points.Count; i++) { points.Add(new Point(xValue, scaleY(Points[i].Y))); xValue += scaleFactor; } //points.Add(new Point(width, points[points.Count - 1].Y)); points.Add(new Point(width, (height / 2))); points.Add(new Point(width, (height - scaleY(Points[Points.Count - 1].Y)))); xValue -= scaleFactor; for (int i = Points.Count - 1; i >= 0; i--) { points.Add(new Point(xValue, (height - scaleY(Points[i].Y)))); xValue -= scaleFactor; } points.Add(new Point(0, points[points.Count - 1].Y)); points.Add(new Point(0, (height / 2))); points.Add(new Point(0, (height / 2))); points.Add(new Point(0, points[0].Y)); return points; } } } }