From 8c8e168832439f785678798ed6a3b1ae37dbb2fb Mon Sep 17 00:00:00 2001 From: Lucio Maranta Date: Tue, 26 Jun 2018 17:21:58 +0200 Subject: [PATCH] Added models and GET API --- .../Controllers/NcFamilyController.cs | 12 -- .../Controllers/NcToolManagerController.cs | 90 +++++++++++++ Step.Database/DatabaseContext.cs | 1 + .../201806251505054_InitMigration.resx | 126 ------------------ ...201806260745029_InitMigration.Designer.cs} | 2 +- ...on.cs => 201806260745029_InitMigration.cs} | 22 +-- .../201806260745029_InitMigration.resx | 126 ++++++++++++++++++ Step.Database/Step.Database.csproj | 11 +- .../DTOModels/ToolModels/DTONcFamilyModel.cs | 123 +++++++++++++++++ .../DTOModels/ToolModels/DTONcToolModel.cs | 62 +++++++++ Step.Model/DatabaseModels/NcFamilyModel.cs | 5 +- .../DatabaseModels/NcMagazinePositionModel.cs | 2 +- Step.Model/DatabaseModels/NcShankModel.cs | 4 +- Step.Model/DatabaseModels/NcToolModel.cs | 2 - Step.Model/Step.Model.csproj | 2 + Step.NC/NcHandler.cs | 60 +++++++++ .../WebApi/NcToolTableController.cs | 109 +++++++++++++++ ...oller.cs => SiemensToolTableController.cs} | 5 +- Step/Step.csproj | 3 +- 19 files changed, 603 insertions(+), 164 deletions(-) delete mode 100644 Step.Database/Controllers/NcFamilyController.cs create mode 100644 Step.Database/Controllers/NcToolManagerController.cs delete mode 100644 Step.Database/Migrations/201806251505054_InitMigration.resx rename Step.Database/Migrations/{201806251505054_InitMigration.Designer.cs => 201806260745029_InitMigration.Designer.cs} (92%) rename Step.Database/Migrations/{201806251505054_InitMigration.cs => 201806260745029_InitMigration.cs} (99%) create mode 100644 Step.Database/Migrations/201806260745029_InitMigration.resx create mode 100644 Step.Model/DTOModels/ToolModels/DTONcFamilyModel.cs create mode 100644 Step.Model/DTOModels/ToolModels/DTONcToolModel.cs create mode 100644 Step/Controllers/WebApi/NcToolTableController.cs rename Step/Controllers/WebApi/{ToolTableController.cs => SiemensToolTableController.cs} (99%) diff --git a/Step.Database/Controllers/NcFamilyController.cs b/Step.Database/Controllers/NcFamilyController.cs deleted file mode 100644 index 7595b42e..00000000 --- a/Step.Database/Controllers/NcFamilyController.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Step.Database.Controllers -{ - class NcFamilyController - { - } -} diff --git a/Step.Database/Controllers/NcToolManagerController.cs b/Step.Database/Controllers/NcToolManagerController.cs new file mode 100644 index 00000000..dd0f6bb0 --- /dev/null +++ b/Step.Database/Controllers/NcToolManagerController.cs @@ -0,0 +1,90 @@ +using Step.Model.DatabaseModels; +using Step.Model.DTOModels.ToolModels; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Step.Database.Controllers +{ + public class NcToolManagerController : IDisposable + { + private DatabaseContext dbCtx; + + public NcToolManagerController() + { + // Initialize database context + dbCtx = new DatabaseContext(); + } + + public void Dispose() + { + // Clear database context + dbCtx.Dispose(); + } + + public List GetFamilies() + { + List families = dbCtx.Families.ToList(); + + List tools = dbCtx.Tools.ToList(); + foreach (NcFamilyModel family in families) + { + family.Tools = tools.Where(x => x.FamilyId == family.FamilyId).ToList(); + } + + return families; + } + + public List GetTools() + { + List tools = dbCtx.Tools + .Include("Offset1") + .Include("Offset2") + .Include("Offset3") + .ToList(); + + return tools; + } + + public List GetShanks() + { + List shanks = dbCtx.Shanks.ToList(); + + return shanks; + } + + public List GetPositions() + { + List positions = dbCtx.MagazinePositions.ToList(); + + return positions; + } + + public List GetOffsets() + { + List offsets = dbCtx.Offsets.ToList(); + + return offsets; + } + + + public NcToolModel AddTool(DTONcToolModel tool) + { + dbCtx.Tools.Add((NcToolModel)tool); + + dbCtx.SaveChanges(); + + return (NcToolModel)tool; + } + + + public NcFamilyModel AddFamily(DTONcFamilyModel family) + { + dbCtx.Families.Add((NcFamilyModel)family); + + dbCtx.SaveChanges(); + + return (NcFamilyModel)family; + } + } +} \ No newline at end of file diff --git a/Step.Database/DatabaseContext.cs b/Step.Database/DatabaseContext.cs index 0e2f7008..6bb9051c 100644 --- a/Step.Database/DatabaseContext.cs +++ b/Step.Database/DatabaseContext.cs @@ -33,6 +33,7 @@ namespace Step.Database public DbSet Shanks { get; set; } public DbSet Offsets { get; set; } public DbSet Tools { get; set; } + public DbSet MagazinePositions { get; set; } // Create migration string public static string CONNECTION_STRING = "Server = " + "localhost" + "; Database=" + DATABASE_NAME +";Uid="+ DATABASE_USER +";Pwd="+ DATABASE_PWD +";"; diff --git a/Step.Database/Migrations/201806251505054_InitMigration.resx b/Step.Database/Migrations/201806251505054_InitMigration.resx deleted file mode 100644 index cb73617e..00000000 --- a/Step.Database/Migrations/201806251505054_InitMigration.resx +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 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 - - - dbo - - \ No newline at end of file diff --git a/Step.Database/Migrations/201806251505054_InitMigration.Designer.cs b/Step.Database/Migrations/201806260745029_InitMigration.Designer.cs similarity index 92% rename from Step.Database/Migrations/201806251505054_InitMigration.Designer.cs rename to Step.Database/Migrations/201806260745029_InitMigration.Designer.cs index 5eeeb592..b8a28380 100644 --- a/Step.Database/Migrations/201806251505054_InitMigration.Designer.cs +++ b/Step.Database/Migrations/201806260745029_InitMigration.Designer.cs @@ -13,7 +13,7 @@ namespace Step.Database.Migrations string IMigrationMetadata.Id { - get { return "201806251505054_InitMigration"; } + get { return "201806260745029_InitMigration"; } } string IMigrationMetadata.Source diff --git a/Step.Database/Migrations/201806251505054_InitMigration.cs b/Step.Database/Migrations/201806260745029_InitMigration.cs similarity index 99% rename from Step.Database/Migrations/201806251505054_InitMigration.cs rename to Step.Database/Migrations/201806260745029_InitMigration.cs index a92a7a72..e1363407 100644 --- a/Step.Database/Migrations/201806251505054_InitMigration.cs +++ b/Step.Database/Migrations/201806260745029_InitMigration.cs @@ -97,6 +97,16 @@ namespace Step.Database.Migrations }) .PrimaryKey(t => t.id); + CreateTable( + "dbo.magazine_position", + c => new + { + magazine_id = c.Byte(nullable: false), + position_id = c.Byte(nullable: false), + type = c.Byte(nullable: false), + }) + .PrimaryKey(t => new { t.magazine_id, t.position_id }); + CreateTable( "dbo.maintenance_file", c => new @@ -201,16 +211,6 @@ namespace Step.Database.Migrations .ForeignKey("dbo.magazine_position", t => new { t.magazine_id, t.position_id }, cascadeDelete: true) .Index(t => new { t.magazine_id, t.position_id }); - CreateTable( - "dbo.magazine_position", - c => new - { - magazine_id = c.Byte(nullable: false), - position_id = c.Byte(nullable: false), - Type = c.Byte(nullable: false), - }) - .PrimaryKey(t => new { t.magazine_id, t.position_id }); - CreateTable( "dbo.tool", c => new @@ -274,7 +274,6 @@ namespace Step.Database.Migrations DropIndex("dbo.machine_user", new[] { "role_id" }); DropIndex("dbo.machine_user", "unique_machine_user"); DropTable("dbo.tool"); - DropTable("dbo.magazine_position"); DropTable("dbo.shank"); DropTable("dbo.session"); DropTable("dbo.performed_maintenance"); @@ -282,6 +281,7 @@ namespace Step.Database.Migrations DropTable("dbo.maintenance_note"); DropTable("dbo.maintenance"); DropTable("dbo.maintenance_file"); + DropTable("dbo.magazine_position"); DropTable("dbo.user"); DropTable("dbo.role"); DropTable("dbo.machine_user"); diff --git a/Step.Database/Migrations/201806260745029_InitMigration.resx b/Step.Database/Migrations/201806260745029_InitMigration.resx new file mode 100644 index 00000000..93e9aed7 --- /dev/null +++ b/Step.Database/Migrations/201806260745029_InitMigration.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + H4sIAAAAAAAEAO1dW2/jOJZ+X2D/g+HH3Zo4sTGLnUIyg3QuPcFWUkGc6p59MhiZdoTRxS3JNUkv5pfNw/6k/QtLibqQ4p3UxU4PCijEInl4ePjxkCI/8fzfP/73/E9vYTD5DpPUj6OL6dnJ6XQCIy9e+9H2YrrPNr/7z+mf/viv/3J+sw7fJj9V+RZ5PlQySi+mr1m2+zybpd4rDEF6EvpeEqfxJjvx4nAG1vFsfnr6h9nZ2QwiEVMkazI5f9pHmR/C4gf6eRVHHtxlexDcx2sYpOVzlLIspE4eQAjTHfDgxXSZwd3JNcjAC0jhdHIZ+AApsYTBZjoBURRnIEMqfv6WwmWWxNF2uUMPQPD8voMo3wYEealC9c9Ndt1WnM7zVsyagpUob59mcWgo8GxRmmXWLm5l3GltNmS4G2Tg7D1vdWG8i+mDdwtCP3gvLDydtGv8fBUkee7SwEWu2sy4V04oEZ8mTcZPNTIQgPJ/nyZX+yDbJ/AigvssASjH4/4l8L3/gu/P8V9hdBHtg4BUGKmM0qgH6NFjEu9gkr0/wU3ZDKzB3Xo6mdGlZ+3idWGmJG7nXZQt5tPJA1IEvASwxgZhk2UWJ/BHGMEEZHD9CLIMJqhr79awsC6jQ6vG/P+qNgRGNKSmk3vw9gVG2+z1Yor+nE5u/Te4rp6UGnyLfDQCUaEs2UNVJbn4qpIf3jPIaZFcwJO/fc2W/q9uUr7AjbuQZ2/3nGd3EvIjCEPgZpGy/51NexXHAep1XNZBDkLKcgchCd2z/7CR8iUGazdN/CiX8ehll/ssDpzFYZW6Enf9HqFB7l3F4Q5GaelJ3VvbuVjc6q7FfvE30BmyD3HoRyDIZakcpWIQwe/+d3gNgwyYwPZ81sxc0vnsdh95uckuPQ+mqcOsxhE01txGaWI1xzESPtRc93PiZ/AL/A4DNDJd4QnW3Ui6TCDoveU3Ua5R4x3RxAJBZKzrY+CpQWE1HO+B9+pH0GEckhJGGoClCjYjjyg61JArbd0z8lDmX/ZEuzqqyBRY6H0ucQdXLWVcgOVqOICsKj4Y0HSxrUCSltqqpXlgrscD+O5vC0vwGzadPMGgSE9f/R3eTGAQs6oz3yZxmOvBYrPKs1rG+8TL58NYkfEZJFuY6Wuci9NTF+eU6Jo/Vita5DLVMi+upyXOKdEy/0utZZGLp6W2m8kFO/iXuvhIjqUaF6YeRW88HdkysVjX9bLKcZyFxp5+bOedoSecvL6oG6QYzi+3fpJmw4AUDFTRI0jTv8VJ1ws4tqIl9PboBe19mYFw13ttqwBE2z3Ydm1AbV/w4N2DLfgVzUOPcernsHfaWucKG22ZinVhfQU3e6Wy3ZK2qcph24pUwWUD2mz7zOAlxo8yGIHIg7e+00KDJ2kklFxmGVqHhcil23Q8XXqomSW32TDuPfZAMFhtBCp6eUvTf6Gq9RCs/1n0rqhC5KuAPC/nrUBRoMPXGE5N7KuMIJOe4u6vNITYbhzOuFMShXDzacZggHTnblANMPkO6peR63hfHG8qjrEgWAfFVkNZCtX97Idu0xkG7uXdw/PNw+XD1c3q+b8fbyxONPd5k1ydzLOfBf17xWuYeom/Iw/W+twmzb5u7iFIEfqFNv/2cPe8+nq7ur+5XH57ulFaO4EFDHMAOIMhf+G4edv5iURkj1ODjjNVOlI9J9qDA32Is46caC1pJEdq4z0H3WyGadr9W10/u9EdLruaMWg6zLtYjNWg1FiMcfPKhiO/QB+LsaYmiQ+hM+kp7u5LHryvm00KM6c9AkLESN4Da2DjQ5qSg+01e7p1qraTo+1r1l7CmR5cgbW/Tx2F/AxB0ok2uSALjbTR/giTTZyEcN3NO4hQ3EijgKePzZgQyRlqhHSyrixfCX4Cwd6RMuYynVrPgkJsiaZCrQLMtKJXymmKWaKVk9suNClhpKFVqmAzmoiiQw2goq0D7O4Z0D4MuQ/CZRWJhRWVuRkKojwM+oUZHddUy1cQ/dVpSdVIGAvwuQJWcK8KDgX2H0AQ7DctMq8KufShljM9eeTjIsloohvKHVIk2lZsiWZcSTMyg0ue23GEPcdx4DTAagEjja+8fpvhVZUbbCpxHRr4ZYd+PbD7UOQJpv56z3wE4CAJfwzgJkv3+y0FSUHPa+qY+m591o2YeTdiFl0tDbClBS6sHs+rKhvpt9qpHGfFZDHdCcLtPVPqV+fjK1gmSzWs8tipONdUcS5Xca6h4txSxYWmigu5igsNFRfGKhZjValgmYuvXpEoVQ7nMJsl9yF5SsCcqd2ltwHYNl8ba02cV6iBGYiy9N/bAruYONELxxomwTt6QSF9BN0R9zB8gUn1xclfHlfXl8+oOcWb/cX0lOk4Kv/95dWf7x5uVrnuTz9dfqnLncnLPd/dcwrN2a7ARtfsCOagrcM+ackep3vCULdjrnV74s8i6zNdXWdc6HTTZZrGnl9YWfBNR82tpyu9idYTXaI9cd7KfDByj7rA3yGjo8F8Mf03pnEa9VT+ga2HW8fZtL0w/RpdwwBmcHLp4fsBrkDqgTU7KyMTruknaC0Lk3wRCYICkEm+YcQufP3I83cg0GxJq7yAcyH4HCpXs66wnXINdzDKF72afeesSV1hy5Aqu53PCGQaArb4ukIbRfSnFj1BlfpSg6iE+LLh4EFKtkEHF/zPHtzgSXaWmw5jALPYotPGDL1Z1xMwqY0+ohKh9AMEJtkGHVDwv7RwAybZWW46DAJMHqtHjBkpxYcEZvs80QSYMoaQDjBPT07YNZQlwCS6DAYwidGPCWB8KrEGDBS8Yi7sCP6+FfTk1GQDqB+Cl9Rrld4KT3KSbgtraf92otVYQNf1piLmec/QPgzPytdneO/K74Rj8rB8fqAGJBRkQS4MCa6tFQzlfMNj9bDSVo3mYaX9e4QetsUgNUKbhoftDtpH+VKlaMfwnpnfeQfvmfU4ayI8GRLYGmxJWJ36aDYjwh2VtzZq2rAu26jPj8VvCylqIuyp+WoN3Gg2pT6+lVQ3g2228SGtao3B5n0HnlvVf51oMwBw5UQwEbI0WWENvGh+pD6E9QhlVEWCqzAODc5aLdNDkfiGDG4B8R0ZRiNACwMjNGCQQcNQj8QAFvOQSNQS5EaT0SFkMFHCqevWD28giBqhgwXRJeyGUBZ1kqsKA4Ox4pnpAIYhnXUKxzZdjZJOfX94yHhstUIHDaLPEq0B2eonEx2YfczRINkmEMlAM+8VkvMPAcn5AUBybgNJhs81GiQXBpBc9ArJxYeA5OIAILmwgeTiACCJmcM6kGnRiDuFI01A1nx9OywsUk3QQYHgozdrIFL946hA5yDELHJUJkMlGlpu+aFU/hy+ZRxG8jeUiEnJafmdaBtOudwlzMglsQ/T6aThrfPfRhhctgSVUSRSHEaCI48bfEMhtdx44YmjqbSacvIdHIkwYlNNITCHE08QQZxUSBCpoq9D+1We34mCXRalbOokmm8zHglAX65Cprm8/GBGIZQ4S1MIxnMO36TUfK+Qw9tE50mVnJMoaig3OHlC6f1olZzcvfEbTM4pCim5f+ULISa9lgzCBzJDlnOXPpFdde9+21EbfB1QN4zxHoz7N/gWgCOVnWxpe9jYCl/kr2EolpMubw/FSu/GRBQHnRBZutjujYNvJNAwDnsuJG8JdSzUjXGoUyBCJFeUlXF4lFuucZTc3FZLZOxcyjikX5TaRkbF7dc2gotnpWbSYJiK2ifnmPKNV07TegaUE0o1e6crk2pATkZiVLdRA3qW1hsQgoLr9qRm06DgidooJ+EJEFKuwPSsKKfcDYLB9t1/msbUx6CA6NWt+foGoeZtV6zxLChHVGvNSEdEywWLbolhzRhG/YFTfIMSa149KgvVTCWZhWhZ814hsZuSuaK7DLKwleJqHNZgBhSK1s6bDomCNF35KiUxnB5fgrIe87bfgQXZmzl4ZpMfogt3KVvH6ERjyrdEqX2EJ+aEnGb7qlNb1LeAyI3BPcTVPsa1Nkf7xJYQVO9a9GCOuZ455kbmmHdljvnQ5ljomWNhZI5FV+ZYDGeO8i4VuTE4xyaaByfWhqDPSJTeWWKF6lKXeju+TjufLb1XGILywfkMZfHgLtsDrERaJdyD3c6PtmlTsnwyWe6AhzS/+t1yOnkLgyi9mL5m2e7zbJYWotOT0PeSOI032YkXhzOwjmfz09M/zM7OZiGWMfNS0rTtw4O6pixOwBa2UvPLWNewiGFWHS9MJ1frkMnWPnwQ7ANWtbXOF9g+qzYIqwL53+UiKL8bpaqudQ7BHtSU5W9R2/LIQEUzIdHdivJIwtIDAUiEV4ddxcE+jPBTn0t9E8nI/6fLR4ANmSCTgG94IyVkxRN9CU/+9jVb+r+2xCT541VaPNcX9gVuOLIC9NRY1LO3ewbF9dFU67zdKgOceCcyUT+CMAS0nC1+ZGCm8gSNNXhSpqxMLX+FXBECJr6Yj5To4YTVS5GiL/AevC13ELYgGYK3VYofG4n6EgOOpKB4aiDIj3JBj152uc/igJXpR4XM1c7LVqDOYqypuIJSaesKrt/RoPS9qzjcwSgF+OWBrGGNM6w8KoexiZT11KYiK7QwlbqiymS2FeWXPLIDJUBPjQfJQ4yaXV0bSXlKnLAKihSDgVxcG3kNg6zlEpIiYbXGKRz+8qw1kzCn/MycxZAk6DlQb4ZsHZzbT5S8A3bz6VJLinDSpAqPPXn+nPgZLAL7oiFIi/pbnrQK8rRV6BsN5ycI1nyhCUqxk3mJitKyQPFEX8JNlM+aLYPD6qG+nMfAa3fbLvBW/K4bacjUJ6f2Y4Vij5gPEnlxsX+ubySzHxblEbrLuPgW+b/sGTX2xdPD7Gm8Zejc3Q23xrrLJSIU3V59PebQ9Xz8hCXHwEwYT519vnNrJqa6yYxeMQcHhiPMJbDHT0PrMgeOpKyJUYeePIsprv2e951l74zYq65ewcUdWPgBdweQS4iYnt3XT/UlETHrSVGb/PHKGCqAJysAFqKawPPUCqR+qi+pFVmeFJeWSasUp+kLJQLI002tnh7M2GCPi1x24PgkUpu9OE1J4imw+QSVngPxc8PZi/xAlQJcdRBnJk5/t240VLQYLy5LKg7912ZZpSNG+N5EBYS3d6xN0HXaG6J1jLEzpIO4U24iT1pZSW1dnUFDvyEo9LoEHB+zHeG1A6wauy1h95l12V1UBQenZJRPuYsz4b5nHTGc2uysnw55SEGECKc3yovHpl4YBwqn9MGPTIxDhAGn7UMkGL1yk6G+W+/d2SrerMIq0cBsVKxvynJlymoNzM4YeBG/mVUdrDMYyz8+n4NZeZ04nubzEyfnIxEj9BtuGw9VfG1q3qkeDr7n0Mtk2MQypR0HaqboLWEkcFY0DpcFPfkJk80yXlpeZOLmW2KHjQ2PLyXykA/NEwy7vYp9Ru9z4GcGu2BlXGRqF6x8ZnBeQYRqpg4r0POVuVJkwGZGnFi7kVDN5+zaY1z8QZ053g1kCd80BWGb7UcCOzebzsV0FGbewus7TuraNR8Q7GqWsz3SqK8szcElLy7e3qoDF9tDqAxFTE14+JHxoQRvaq8OJg5vfVdSAF1mUOKbWJsJVFZc2OfVBQT2PV7F4yUlvJTPTPqcF6KXux9X76SZvhIexk7fSPjETFcXeDZfW9ugU1Ja7Etw7FsHb+S8jUCHsyUllWtDi5UdFdeWZnvgFAuGEh3glis0KRMN9jC5hNUN/nbCrCe4jiYt+NRmgoj7zdje4F57ppY158vi3FellrXgy+JcNNSzK2Ao5u0sde3lk/p3TTEv6d0U77xof84iL9qdllTzNt8bZ5lOkJG+++uc633/vvwFx+U+Kf68CnzU4CbHPYgQ6NMMh6Oc/v7k99PJZeCDFFP/Syb75/b1NFrU9rNFTm2H63DWLm5OkM+lpOmacmO8iOVChrhevHB2UKhjhft1PGk/t6wyErhhgGd8wIArCOJoi+8LaoQUdwMpZGD3i2XsMz96LzQ1VIQkmjuKInjmjpIImrmjpJJo7mokmmPuKI3mlzsKI+jlWFIaovWirSRMznZVic8p76Ch3Uvlk8e7MgBN4O7KAJ1KJVjhjpJoRjjhO00HG0UENwK1OLx3a0pRsqh/0xMLw7526Uyac20vCTOu3RpWE66xmBfkiI31qOjWui3RxqSYtPybBiPBezYRZGp2AWHwaE1Pso6JapgbKe+iNXy7mP5PUezzpLQ2uTX4afI1Qe8UnydnnyZ36VWAJMAErj9PnpHR80eYr45/T/5urGm9/diRmvN+1KxZ0wZq3v1lVRartTtVVq2NXAFz+Wgh24W3KDnQnTvnj+YeGlKy2N5agkhKsmPXgY4ENXRkNzltHrJr8yoSci/TmBZ1Vw+u0i18Tn7JHr0a51Rljm8glCKuWxDmr0QGSw4VqfZo/QrBnnUcLm0yrpu4NvHIbBKnSxvM5d2sdpAGZTFR1U7rXxln4miBSHBucS3reF9sKJrhpuHbllKQdllBQ3tMoOenxa75qZN3sdtCbJi39lJK2q3byKIYt86vejTVlts0HUktfm2nfcen2OpWoWWHA/YRAnLr0fqJmibrCN1eukzzTf9ApjaCjOsw4AxWvEKW69GikabJ2nv2ikghmvr0djxKDqqTEIoc6y7JQidtQGnSSI8WXD3MhS0iqj1gKfaptQfrY5dNzP88WiCUJFLXN6oWe9S016jiffScmMXZX89JtzO0zFKXXxHbGU7zsnRbpAOdzix06hnhFWdWfHqsB3E+S7afXSEhrfN4/UwXtIIWNdSR5NJihXYlraKDOsoj2KBm3rQu6OQoGgqpWe1VOafKCdKpWe11wU6qn9tWP++k+oVt9YsOZlA2tKZe5C42QlJ5CxpuCiceYI+RL8XRmnj6EImqUJ9WITUVF9npuPGJSQRNjZvUeAc+4hvKBongqhH3jOhXIogj0aHE098MumT3nh0GtIR3zY2DKzb+CtGj/K4U9uEHxpVZH4+BK+E3iwPhqhWFqEtcnZ6cMB/eSOLstfDRTvwI+FB+IH7A+NAIM9hV5/bmkDhsBYFeRIaellMWWOgOf7Kb1HjLKvllJ+NBcRx3NTp6xnJbZrA5GNelEZ7yeFwXEVqcrxeR4SO6LtndVofvumTBPQ9wBX84qBvL5ZnBbVyXJzz3PVq/Jz7JJpWT5PowHlDzTF9QufROpEGwqRdEtqvtg57gSB2hk/rQCX1uwA7qBxU3Tok3YMf1gwbxd6mYjvwPD8h+FuYZBH4UD4BWi0zoBX76d7MbfofBLSG9LckAwIrrswZQdRC4y+MmUwgibyChIUSlDITnhihA60I87wnN8lifnXtS+UVZbHWS65QGxxQ3/DTVjSR/le5IKuXDg0p+2+3ooJJchzUSqOb/BNVHARXnXrSRQLX4J6g+Cqg4F+QNDipOSHnXNfkHBJThOntgPInvlOwBTq0bFksVmNsQRYHtawhSC/KG6MZfsOO7FS+m65cY9X3FmCteBtgzLbom3h1SbH3cXNxay4wrgAMNq6qnCXVMvXQyr8Jy00G3ImLTSFQZkUVSYbHLoayVoHMx1RFpvHpyzpFSvqw5inZo6S/c8uAgUpCTb8MWJV2j+3jnq5wu5GXjq9CcDeXf55tooFG7Xs0mlRJnLLKKiWyqZkcxe5M/BwHU2ojT71Q6r048nytrkmzkM7VK8vI02FXZVybGp/d1GR3oZF61Kc6hYWNytcAxMZnMrahYpairIVYCnFqIVF4lWXHPXKsOYhYU+9qabz0hsgucLp+bzTscoBrCBsxmJ3vZ8QIrhUhsr8LoRtsYpGAG61iDpRBTDWHml1Yw4IM2QnECpGME9qiIagi/BULVRzYCj3PJNYKSnNmhEfgOlx+PsFMj8ImFcntokBG7a55IErMKEQca7clgGsiRceX6QM9YRuFzvOS20eCF9Y8iZlEnjsLXk8E0UCSjLfWBokGNokeb4RjIgm/TE56UC2dFeDF3Iwr5HRy76XFBupukKUm8JT0bH8vdIHISAscqBqyF1q6f9AVdGg9dZijeKwkbVKoLQzHH11zryA+5W6pz9s5K3akUafOZVyUmaFG3ja/OWRWt5x7Hyo45KOWplANs/lyv+fMP2vyFXvMXH675+JRF0XjOUYy7y+qx4Uy0pTrtfIb3V8oH6CcTVel89rSP8quN8K9rmPrbRsQ5khlBjzp7qPPcRZu4OgRpaVRlaX22fw8zsAYZuEwyfwO8DCXnm/d+tJ1OiridF9Ob8AWu76Kv+2y3z1CTYfhCHy7kRymy+s9njM7nX4v7FtMumoDU9PPboL5GP+z9YF3rfcu5N0AgIj+jKa8Nyfsyy68P2b7Xkh7i9imDSFBpvvpo6RmGuwAJS79GS5Dfr2GuG1rdfIFb4L0/lrGxxELUHUGb/fzaB9sEhGkpoymPfiIMr8O3P/4/8O1kNJAdAQA= + + + dbo + + \ No newline at end of file diff --git a/Step.Database/Step.Database.csproj b/Step.Database/Step.Database.csproj index 6d8bfd3a..c05df89a 100644 --- a/Step.Database/Step.Database.csproj +++ b/Step.Database/Step.Database.csproj @@ -73,13 +73,14 @@ + - - - 201806251505054_InitMigration.cs + + + 201806260745029_InitMigration.cs @@ -115,8 +116,8 @@ - - 201806251505054_InitMigration.cs + + 201806260745029_InitMigration.cs diff --git a/Step.Model/DTOModels/ToolModels/DTONcFamilyModel.cs b/Step.Model/DTOModels/ToolModels/DTONcFamilyModel.cs new file mode 100644 index 00000000..d6e22ec8 --- /dev/null +++ b/Step.Model/DTOModels/ToolModels/DTONcFamilyModel.cs @@ -0,0 +1,123 @@ +using Step.Model.DatabaseModels; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Step.Model.DTOModels.ToolModels +{ + public class DTONcFamilyModel + { + public int Id { get; set; } + + [Required] + public string Name { get; set; } + + [Required] + public byte Type { get; set; } + + [Required] + public byte RightSize { get; set; } + + [Required] + public byte LeftSize { get; set; } + + [Required] + public byte TcpTable { get; set; } + + [Required] + public byte Gamma { get; set; } + + [Required] + public byte RotationType { get; set; } + + [Required] + public byte CoolingByte { get; set; } + + [Required] + public short MaxSpeed { get; set; } + + [Required] + public byte MaxLoad { get; set; } + + [Required] + public byte MinLoadPctAutoload { get; set; } + + [Required] + public byte MaxLoadPctAutoload { get; set; } + + [Required] + public byte DynamicCompensation { get; set; } + + [Required] + public byte MinLoadDynamicCompensation { get; set; } + + [Required] + public byte MaxLoadDynamicCompensation { get; set; } + + [Required] + public byte LifeType { get; set; } + + [Required] + public int NominalLife { get; set; } + + [Required] + public short ReviveDelta { get; set; } + + public List Tools; + + public static explicit operator DTONcFamilyModel(NcFamilyModel obj) + { + return new DTONcFamilyModel() + { + Id = obj.FamilyId, + Name = obj.Name, + Type = obj.Type, + RightSize = obj.RightSize, + LeftSize = obj.LeftSize, + TcpTable = obj.TcpTable, + Gamma = obj.Gamma, + RotationType = obj.RotationType, + CoolingByte = obj.CoolingByte, + MaxSpeed = obj.MaxSpeed, + MaxLoad = obj.MaxLoad, + MinLoadDynamicCompensation = obj.MinLoadDynamicCompensation, + MaxLoadDynamicCompensation = obj.MaxLoadDynamicCompensation, + MaxLoadPctAutoload = obj.MaxLoadPctAutoload, + MinLoadPctAutoload = obj.MinLoadPctAutoload, + DynamicCompensation = obj.DynamicCompensation, + LifeType = obj.LifeType, + NominalLife = obj.NominalLife, + ReviveDelta = obj.ReviveDelta, + }; + } + + public static explicit operator NcFamilyModel(DTONcFamilyModel obj) + { + return new NcFamilyModel() + { + FamilyId = obj.Id, + Name = obj.Name, + Type = obj.Type, + RightSize = obj.RightSize, + LeftSize = obj.LeftSize, + TcpTable = obj.TcpTable, + Gamma = obj.Gamma, + RotationType = obj.RotationType, + CoolingByte = obj.CoolingByte, + MaxSpeed = obj.MaxSpeed, + MaxLoad = obj.MaxLoad, + MinLoadDynamicCompensation = obj.MinLoadDynamicCompensation, + MaxLoadDynamicCompensation = obj.MaxLoadDynamicCompensation, + MaxLoadPctAutoload = obj.MaxLoadPctAutoload, + MinLoadPctAutoload = obj.MinLoadPctAutoload, + DynamicCompensation = obj.DynamicCompensation, + LifeType = obj.LifeType, + NominalLife = obj.NominalLife, + ReviveDelta = obj.ReviveDelta, + }; + } + } +} diff --git a/Step.Model/DTOModels/ToolModels/DTONcToolModel.cs b/Step.Model/DTOModels/ToolModels/DTONcToolModel.cs new file mode 100644 index 00000000..f5ba2d4e --- /dev/null +++ b/Step.Model/DTOModels/ToolModels/DTONcToolModel.cs @@ -0,0 +1,62 @@ +using Step.Model.DatabaseModels; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Step.Model.DTOModels.ToolModels +{ + public class DTONcToolModel + { + public int Id { get; set; } + + [Required] + public byte Type { get; set; } + + [Required] + public short OffsetLenght { get; set; } + + [Required] + public short ResidualLife { get; set; } + + [Required] + public short ResidualRevive { get; set; } + + [Required] + // Foreign keys + public int FamilyId { get; set; } + + [Required] + public int ShankId { get; set; } + + public static explicit operator DTONcToolModel(NcToolModel obj) + { + return new DTONcToolModel() + { + Id = obj.ToolId, + FamilyId = obj.FamilyId, + ShankId = obj.ShankId, + Type = obj.Type, + OffsetLenght = obj.OffsetLenght, + ResidualLife = obj.ResidualLife, + ResidualRevive = obj.ResidualRevive + }; + } + + public static explicit operator NcToolModel(DTONcToolModel obj) + { + return new NcToolModel() + { + ToolId = obj.Id, + FamilyId = obj.FamilyId, + ShankId = obj.ShankId, + Type = obj.Type, + OffsetLenght = obj.OffsetLenght, + ResidualLife = obj.ResidualLife, + ResidualRevive = obj.ResidualRevive + }; + } + } +} diff --git a/Step.Model/DatabaseModels/NcFamilyModel.cs b/Step.Model/DatabaseModels/NcFamilyModel.cs index 3a97e62e..2237e86d 100644 --- a/Step.Model/DatabaseModels/NcFamilyModel.cs +++ b/Step.Model/DatabaseModels/NcFamilyModel.cs @@ -1,4 +1,5 @@ -using System.ComponentModel.DataAnnotations; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Step.Model.DatabaseModels @@ -63,5 +64,7 @@ namespace Step.Model.DatabaseModels [Column("revive_delta")] public short ReviveDelta { get; set; } + + public List Tools; } } \ No newline at end of file diff --git a/Step.Model/DatabaseModels/NcMagazinePositionModel.cs b/Step.Model/DatabaseModels/NcMagazinePositionModel.cs index c279b427..7730cf7d 100644 --- a/Step.Model/DatabaseModels/NcMagazinePositionModel.cs +++ b/Step.Model/DatabaseModels/NcMagazinePositionModel.cs @@ -12,7 +12,7 @@ namespace Step.Model.DatabaseModels [Key, Column("position_id", Order = 1)] public byte PositionId { get; set; } - [Column("Type")] + [Column("type")] public byte Type { get; set; } } } diff --git a/Step.Model/DatabaseModels/NcShankModel.cs b/Step.Model/DatabaseModels/NcShankModel.cs index e79b99d7..30b1cc70 100644 --- a/Step.Model/DatabaseModels/NcShankModel.cs +++ b/Step.Model/DatabaseModels/NcShankModel.cs @@ -17,10 +17,10 @@ namespace Step.Model.DatabaseModels public byte MagazinePositionType { get; set; } [ForeignKey("MagazinePosition"), Column("magazine_id", Order = 0)] - public byte MagazineId { get; set; } + public byte? MagazineId { get; set; } [ForeignKey("MagazinePosition"), Column("position_id", Order = 1)] - public byte PositionId { get; set; } + public byte? PositionId { get; set; } public virtual NcMagazinePositionModel MagazinePosition { get; set; } } diff --git a/Step.Model/DatabaseModels/NcToolModel.cs b/Step.Model/DatabaseModels/NcToolModel.cs index 1d9b4610..b97956ef 100644 --- a/Step.Model/DatabaseModels/NcToolModel.cs +++ b/Step.Model/DatabaseModels/NcToolModel.cs @@ -23,11 +23,9 @@ namespace Step.Model.DatabaseModels public short ResidualRevive { get; set; } // Foreign keys - [Column("family_id")] [ForeignKey("Family")] public int FamilyId { get; set; } - [Column("shank_id")] [ForeignKey("Shank")] diff --git a/Step.Model/Step.Model.csproj b/Step.Model/Step.Model.csproj index 14a597b4..8745c624 100644 --- a/Step.Model/Step.Model.csproj +++ b/Step.Model/Step.Model.csproj @@ -112,6 +112,8 @@ + + diff --git a/Step.NC/NcHandler.cs b/Step.NC/NcHandler.cs index d83b3c5a..cf45f671 100644 --- a/Step.NC/NcHandler.cs +++ b/Step.NC/NcHandler.cs @@ -851,6 +851,48 @@ namespace Step.NC return cmsError; } + // OSAI FANUC TOOL MANAGER + + public void GetToolTableData(out List tools) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + tools = toolsManager.GetTools(); + } + } + + public void GetFamilies(out List families) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + families = toolsManager.GetFamilies(); + } + } + + public void GetShanksData(out List shanks) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + shanks = toolsManager.GetShanks(); + } + } + + public void GetPositions(out List positions) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + positions = toolsManager.GetPositions(); + } + } + + public void GetOffsets(out List offset) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + offset = toolsManager.GetOffsets(); + } + } + #endregion Read Data #region Write data @@ -1018,6 +1060,24 @@ namespace Step.NC } #endregion + + // OSAI FANUC + + public NcToolModel AddTool(DTONcToolModel tool) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + return toolsManager.AddTool(tool); + } + } + + public NcFamilyModel AddFamily(DTONcFamilyModel family) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + return toolsManager.AddFamily(family); + } + } #endregion Write data } } \ No newline at end of file diff --git a/Step/Controllers/WebApi/NcToolTableController.cs b/Step/Controllers/WebApi/NcToolTableController.cs new file mode 100644 index 00000000..9f07b849 --- /dev/null +++ b/Step/Controllers/WebApi/NcToolTableController.cs @@ -0,0 +1,109 @@ +using Step.Model.DatabaseModels; +using Step.Model.DTOModels.ToolModels; +using Step.NC; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web.Http; + +namespace Step.Controllers.WebApi +{ + [RoutePrefix("api/tool_manager/nc")] + public class NcToolTableController : ApiController + { + [Route("tools"), HttpGet] + public IHttpActionResult GetNcToolTable() + { + using (NcHandler ncHandler = new NcHandler()) + { + ncHandler.Connect(); + ncHandler.GetToolTableData(out List tools); + + return Ok(tools); + } + } + + [Route("families"), HttpGet] + public IHttpActionResult GetFamilies() + { + using (NcHandler ncHandler = new NcHandler()) + { + ncHandler.Connect(); + ncHandler.GetFamilies(out List families); + + return Ok(families); + } + } + + [Route("magazines_positions"), HttpGet] + public IHttpActionResult GetMagazinesPositions() + { + using (NcHandler ncHandler = new NcHandler()) + { + ncHandler.Connect(); + ncHandler.GetPositions(out List magazines); + + return Ok(magazines); + } + } + + [Route("magazine/{magazineId:int}/positions"), HttpGet] + public IHttpActionResult GetMagazinesPositions(int magazineId) + { + using (NcHandler ncHandler = new NcHandler()) + { + ncHandler.Connect(); + ncHandler.GetPositions(out List magazines); + + magazines = magazines.Where(x => x.MagazineId == magazineId).ToList(); + + return Ok(magazines); + } + } + + [Route("shanks"), HttpGet] + public IHttpActionResult GetShanks() + { + using (NcHandler ncHandler = new NcHandler()) + { + ncHandler.Connect(); + ncHandler.GetShanksData(out List shanks); + + return Ok(shanks); + } + } + + [Route("tool"), HttpPost] + public IHttpActionResult AddTool([FromBody][Required]DTONcToolModel tool) + { + if (!ModelState.IsValid) + return BadRequest(ModelState); + + using (NcHandler ncHandler = new NcHandler()) + { + ncHandler.Connect(); + NcToolModel newTool = ncHandler.AddTool(tool); + + return Ok(newTool); + } + } + + [Route("tool"), HttpPost] + public IHttpActionResult AddFamily([FromBody][Required]DTONcFamilyModel family) + { + if (!ModelState.IsValid) + return BadRequest(ModelState); + + using (NcHandler ncHandler = new NcHandler()) + { + ncHandler.Connect(); + NcFamilyModel newFamily = ncHandler.AddFamily(family); + + return Ok(newFamily); + } + } + } +} diff --git a/Step/Controllers/WebApi/ToolTableController.cs b/Step/Controllers/WebApi/SiemensToolTableController.cs similarity index 99% rename from Step/Controllers/WebApi/ToolTableController.cs rename to Step/Controllers/WebApi/SiemensToolTableController.cs index 1f2b83de..9fac363e 100644 --- a/Step/Controllers/WebApi/ToolTableController.cs +++ b/Step/Controllers/WebApi/SiemensToolTableController.cs @@ -1,4 +1,5 @@ -using Step.Model.DTOModels.ToolModels; +using Step.Model.DatabaseModels; +using Step.Model.DTOModels.ToolModels; using Step.NC; using System; using System.Collections.Generic; @@ -10,7 +11,7 @@ using static CMS_CORE_Library.DataStructures; namespace Step.Controllers.WebApi { [RoutePrefix("api/tool_manager")] - public class ToolTableController : ApiController + public class SiemensToolTableController : ApiController { [Route("tools"), HttpGet] public IHttpActionResult GetToolTable() diff --git a/Step/Step.csproj b/Step/Step.csproj index 9702a336..9e6dfcf8 100644 --- a/Step/Step.csproj +++ b/Step/Step.csproj @@ -174,7 +174,8 @@ - + +