aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Web/Tango.MachineService.Gateway/Controllers/GatewayController.cs
blob: e393c726478d5f329b2f1ff4edba740aa9fd00e8 (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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Tango.MachineService.Gateway.DB;
using Tango.MachineService.Gateway.DTO;
using Tango.MachineService.Gateway.Messages;
using Tango.Web.Controllers;

namespace Tango.MachineService.Gateway.Controllers
{
    public class GatewayController : TangoController
    {
        [HttpPost]
        public EnvironmentsResponse GetEnvironments(EnvironmentsRequest request)
        {
            EnvironmentsResponse response = new EnvironmentsResponse();

            using (GatewayDbContext db = GatewayDbContext.CreateDefault())
            {
                var envs = db.Environments.Where(x => x.Active).ToList();

                foreach (var env in envs)
                {
                    response.Environments.Add(new EnvironmentConfiguration()
                    {
                        ID = env.ID.ToString(),
                        Name = env.Name,
                        Description = env.Description,
                        MachineServiceAddress = env.MachineServiceAddress,
                        DisplayIndex = env.DisplayIndex
                    });
                }
            }

            return response;
        }
    }
}
>.Dispose(); } public static void DrawMultiPolygon(this RenderTarget target, SharpDX.Direct2D1.Factory factory, List<Brush> strokes, double strokeWidth, List<Vector2[]> vectorsCollection) { List<PathGeometry> geos = new List<PathGeometry>(); List<GeometrySink> sinks = new List<GeometrySink>(); foreach (var vectors in vectorsCollection) { var geo = new PathGeometry(factory); GeometrySink sink1; sink1 = geo.Open(); sink1.BeginFigure(vectors[0], new FigureBegin()); sink1.AddLines(vectors); sink1.EndFigure(new FigureEnd()); sink1.Close(); geos.Add(geo); sinks.Add(sink1); } for (int i = 0; i < geos.Count; i++) { target.DrawGeometry(geos[i], strokes[i], (float)strokeWidth); } vectorsCollection = null; for (int i = 0; i < strokes.Count; i++) { geos[i].Dispose(); sinks[i].Dispose(); strokes[i].Dispose(); } } public static void FillPolygon(this RenderTarget target, SharpDX.Direct2D1.Factory factory, Brush fill, Vector2[] vectors) { PathGeometry geo = new PathGeometry(factory); GeometrySink sink1; sink1 = geo.Open(); sink1.BeginFigure(vectors[0], new FigureBegin()); sink1.AddLines(vectors); sink1.EndFigure(new FigureEnd()); sink1.Close(); target.FillGeometry(geo, fill); vectors = null; geo.Dispose(); sink1.Dispose(); fill.Dispose(); } } }