diff --git a/Step.Database/Controllers/NcToolManagerController.cs b/Step.Database/Controllers/NcToolManagerController.cs index 94b49756..7916c555 100644 --- a/Step.Database/Controllers/NcToolManagerController.cs +++ b/Step.Database/Controllers/NcToolManagerController.cs @@ -2,6 +2,7 @@ using Step.Model.DTOModels.ToolModels; using System; using System.Collections.Generic; +using System.Data.Entity; using System.Linq; namespace Step.Database.Controllers @@ -27,10 +28,10 @@ namespace Step.Database.Controllers 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(); - } + //foreach (NcFamilyModel family in families) + //{ + // family.Tools = tools.Where(x => x.FamilyId == family.FamilyId).ToList(); + //} return families; } @@ -38,19 +39,28 @@ namespace Step.Database.Controllers public NcToolModel FindTool(int toolId) { return dbCtx.Tools - .Include("Offset1") - .Include("Offset2") - .Include("Offset3") .Where(x => x.ToolId == toolId) .FirstOrDefault(); } + public NcShankModel FindShank(int shankId) + { + return dbCtx.Shanks + .Where(x => x.ShankId == shankId) + .FirstOrDefault(); + } + + public NcFamilyModel FindFamily(int familyId) + { + return dbCtx.Families + .Where(x => x.FamilyId == familyId) + .FirstOrDefault(); + } + public List GetTools() { - List tools = dbCtx.Tools - .Include("Offset1") - .Include("Offset2") - .Include("Offset3") + List tools = dbCtx.Tools.Include("Family") + .Include("Shank") .ToList(); return tools; @@ -58,7 +68,7 @@ namespace Step.Database.Controllers public List GetShanks() { - List shanks = dbCtx.Shanks.ToList(); + List shanks = dbCtx.Shanks.Include("MagazinePosition").ToList(); return shanks; } @@ -70,21 +80,31 @@ namespace Step.Database.Controllers return positions; } + public NcMagazinePositionModel GetPosition(byte magId, byte posId) + { + NcMagazinePositionModel positions = dbCtx + .MagazinePositions + .Where(x => x.MagazineId == magId && x.PositionId == posId) + .FirstOrDefault(); + + return positions; + } + public List GetOffsets() { List offsets = dbCtx.Offsets.ToList(); return offsets; } - - - public NcToolModel AddTool(DTONcToolModel tool) + + public NcToolModel AddTool(DTONcToolModel dtoTool) { - dbCtx.Tools.Add((NcToolModel)tool); + NcToolModel tool = (NcToolModel)dtoTool; + dbCtx.Tools.Add(tool); dbCtx.SaveChanges(); - return (NcToolModel)tool; + return tool; } public NcToolModel UpdateTool(NcToolModel tool, DTONcToolModel dtoTool) @@ -97,25 +117,80 @@ namespace Step.Database.Controllers dbCtx.SaveChanges(); - return (NcToolModel)tool; + return tool; + } + + public void DeleleTool(int toolId) + { + NcToolModel tool = FindTool(toolId); + DeleleTool(tool); + } + + public void DeleleTool(NcToolModel tool) + { + dbCtx.Tools.Remove(tool); + + dbCtx.SaveChanges(); } public NcFamilyModel AddFamily(DTONcFamilyModel family) { - dbCtx.Families.Add((NcFamilyModel)family); + NcFamilyModel familyModel = (NcFamilyModel)family; + dbCtx.Families.Add(familyModel); dbCtx.SaveChanges(); - return (NcFamilyModel)family; + return familyModel; } public NcShankModel AddShank(DTONcShankModel shank) { - dbCtx.Shanks.Add((NcShankModel)shank); + NcShankModel dbShank = (NcShankModel)shank; + dbCtx.Shanks.Add(dbShank); dbCtx.SaveChanges(); - return (NcShankModel)shank; + return dbShank; + } + + public NcShankModel UpdateShank(NcShankModel dbShank, DTONcShankModel dtoShank) + { + dbShank.MagazinePositionType = dtoShank.MagazinePositionType; + + dbCtx.SaveChanges(); + + return dbShank; + } + + public void DeleleShank(int shankId) + { + NcShankModel shank = FindShank(shankId); + DeleleShank(shank); + } + + public void DeleleShank(NcShankModel shank) + { + dbCtx.Shanks.Remove(shank); + + dbCtx.SaveChanges(); + } + + public NcMagazinePositionModel UpdatePosition(NcMagazinePositionModel dbPos, DTONcMagazinesPositionsModel dtoPos) + { + dbPos.Type = dtoPos.Type; + dbPos.Disabled = dtoPos.Disabled; + + dbCtx.SaveChanges(); + + return dbPos; + } + + public void DeleleFamily(NcFamilyModel family) + { + dbCtx.Families.Attach(family); + dbCtx.Families.Remove(family); + + dbCtx.SaveChanges(); } } } \ No newline at end of file diff --git a/Step.Database/Migrations/201806271056363_InitMigration.resx b/Step.Database/Migrations/201806271056363_InitMigration.resx deleted file mode 100644 index 0b143f86..00000000 --- a/Step.Database/Migrations/201806271056363_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 - - - H4sIAAAAAAAEAO1dW2/jOJZ+X2D/g+HH3Zo4sTGLnUIyg3QuPcFWUkGc6p59MhiZdoTRxS3JNUkv5pfNw/6k/QtLibqQ4p3UxU4PCijEEnl4ePjx8PaJ5//+8b/nf3oLg8l3mKR+HF1Mz05OpxMYefHaj7YX0322+d1/Tv/0x3/9l/Obdfg2+alKt8jToZxRejF9zbLd59ks9V5hCNKT0PeSOI032YkXhzOwjmfz09M/zM7OZhCJmCJZk8n50z7K/BAWP9DPqzjy4C7bg+A+XsMgLZ+jN8tC6uQBhDDdAQ9eTJcZ3J1cgwy8gBROJ5eBD5ASSxhsphMQRXEGMqTi528pXGZJHG2XO/QABM/vO4jSbUCQ5ypU/9wk163F6TyvxazJWIny9mkWh4YCzxalWWbt7FbGndZmQ4a7QQbO3vNaF8a7mD54tyD0g/fCwtNJu8TPV0GSpy4NXKSqzYxb5YQS8WnSJPxUIwMBKP/3aXK1D7J9Ai8iuM8SgFI87l8C3/sv+P4c/xVGF9E+CEiFkcroHfUAPXpM4h1MsvcnuCmrgTW4W08nMzr3rJ29zszkxPW8i7LFfDp5QIqAlwDW2CBsssziBP4II5iADK4fQZbBBDXt3RoW1mV0aJWY/1+VhsCIutR0cg/evsBom71eTNGf08mt/wbX1ZNSg2+Rj3ogypQle6gqJBdfFfLDewY5NZILePK3r9nS/9VNyhe4cRfy7O2e8+ROQn4EYQjcLFK2v7Npr+I4QK2O8zrIQUhZ7iAkoXv2HzZSvsRg7aaJH+UyHr3scp/FgbM4rFJX4q7fI9TJvas43MEoLT2pe207F4tr3bXYL/4GOkP2IQ79CAS5LJWjVHQi+N3/Dq9hkAET2J7PmpFLOp7d7iMvN9ml58E0dRjVOILGGtsoTazGOEbChxrrfk78DH6B32GAeqYrPMG6G0mXCQS91/wmyjVqvCMaWCCIjHV9DDw1KKy64z3wXv0IOvRDUsJIHbBUwabnEVmH6nKlrXtGHkr8y56oV0cFmQILrecSd3DVUsYFWK6GA8iq7IMBTRfbCiRpqa2amgfmejyA7/62sAS/YtPJEwyK9+mrv8ObCQxiVnXi2yQOcz1YbFZpVst4n3j5eBgrEj6DZAszfY1zcXrq4pQSXfPHakWLVKZa5tn1tMQpJVrmf6m1LFLxtNR2M7lgB/9SZx/JsVT9wtSj6PWnI5smFvO6XmY5jqPQ2MOP7bgz9ICTlxd1gxTD8eXWT9JsGJCCgQp6BGn6tzjpegLHFrSE3h4t0N6XGQh3vZe2CkC03YNt1wbU9gUP3j3Ygl/ROPQYp34Oe6etda6w0aapWBfWV3CTVyrbTWmbohy2rUgVXDagzbbPDBYxfpTBCEQevPWdJho8SSOh5DLL0DwsRC7dpuHp3EONLLnNhnHvsQeCwUojUNHLKk1/QVXrIZj/s+hdUZnIpYA8LWdVoMjQ4TKGUxK7lBEk0lPcfUlDiO3G4Yw7JFEINx9mDDpId+4GlQCT76BejFzH++J4U3GMBcE6KLYaylyo7Gc/dBvOMHAv7x6ebx4uH65uVs///XhjcaK5z6vk6mSe/Szo3ytew9RL/B15sNbnNmn2dXMPQYrQL7T5t4e759XX29X9zeXy29ON0toJLGCYA8AZDPmC4+Zt5ycSkT0ODTrOVOlI9ZxoDw70Ic46cqK1pJEcqY33HHSzGaZp96u6fnajO5x2NX3QtJt3MRmrQakxGeOmlXVHfoY+JmNNSRIfQifSU9zdlzx4XzebFGZOewSEiJG8B9bAxoc0OQfba/Z0y1RtJ0fb16w9hTM9uAJrf586CvkZgqQTbXJBFhppo/0RJps4CeG6mzWIUNxIvYCnj02fEMkZqod0Mq8slwQ/gWDvSBlzGU6tR0EhtkRDoVYGZljRy+U0xCzRzMltF5qUMFLXKlWw6U1E1qE6UFHXAXb3DGgfhtwH4bSKxMKKStx0BVEaBv3ChI5zquUriP7qNKVqJIwF+FwBK7hXGYcC+w8gCPabFplXhVz6UMuZniw6LrI7HdLvK3Q1uB2GxNKKzdH0GmlCpuvIUzv2n+c4Dpy6Ty1gpN6Tl2/Teap8gw0UrsDHSxl68m/3GcgTTP31nqH4O0jCVH83WbpfZykoCHo+UcfUd+uzbsTMuxGz6Grgx5YWuLC6P6+qZKTfar/lOCsmiek+D67vmVK/Oh1fwfK1VMMqjZ2Kc00V53IV5xoqzi1VXGiquJCruNBQcWGsYtFXlQqWqfjqFS+lyuEUZqPkPiTPAJgTs7v0NgDb5ltirYHzClUwA1GW/ntbYBcDJ1pOrGESvKPlB+kj6Ia4h+ELTKrvSf7yuLq+fEbVKdbtF9NTpuGo9PeXV3++e7hZ5bo//XT5pc53Js/3fHfPyTRnmwIbXbMhmGO0DtukJXuc5glD3Ya51m2JP4uszzR1nXCh00yXaRp7fmFlwRcbNXOeLvQmWk90afTEaSrzOcg9agJ/h4yOOvPF9N+YymmUU/kHthxuGWfT9sT0a3QNA5jByaWHv/6/AqkH1uyojEy4pp+guSxM8kkkCApAJvl2EDvx9SPP34FAsyat/AJGheBjp1zNusD2m2u4g1E+6dVsO2dN6gJbhlTZ7XxGINMQsMW3E9oooj+k6Amq1HcYRCHEdwsHD1KyDjq44H/U4AZPsrHcdBgDmMUGnDZm6K24noBJbeMRhQilHyAwyTrogIL/HYUbMMnGctNhEGDyODtizEgJPCQw26eFJsCU8X90gHl6csLOoSwBJtFlMIBJjH5MAOMThTVgoGANc2FHsPOtoCcnHhtA/RC8pF6t9GZ4knNyW1hL27cTrcYCuq43FfHKe4b2YXhWvj7De1d+IxyTh+Wz/zQgoaACcmFIMGmtYChnEx6rh5XWajQPK23fI/SwLX6oEdo0PGx30D7KRZWiHsN7Zn7jHbxn1mOkifBkSE9rsCXhbOqj2YzmdlTe2qhqw7psozY/Fr8tJKCJsKdmozVwo7mS+vhWEtkMttnGh7SqNgab9x14blX7daLNAMCVE8FEyNJkhTXwotmP+hDWI5RRBQkuuuhrkaeloR4axPdYcDOIb7IwQrJWW45QgUHAz1CIxEAU84lI9BEkRROUC5lIlHDqUvRD88/iSuhgQXRVuiGURY3kqsLAYKz4YjqAYchjncKxTTujpFNfCR4yHlu10EGD6ONBa0C22slEB2aoGg2SbSKQDDTzXiE5/xCQnB8AJOc2kGR4WaNBcmEAyUWvkFx8CEguDgCSCxtILg4AkpgBrAOZFh24UzjSRGLNZdhhYZGqgg4KBJ+mWQORah9HBToHIWaDozwZytHQa8sPnvLn8C3jMIu/oZeYXJyWX3O24ZTLXcKMnBL7MJ1OGv45fzXC4LIlqIz1kOJgDxx53BAZCqnlBgpPHE2J1ZST78RIhBGbYwqBOZx4gggCpEKCSBV9HdpLeX4jCnZLlLKpE2W+zXiH+fpyFTLN5eUHLAqhxJmYQjAec/gmpcZ7hRzeZjhPquS8Q1FCuVHJE0rvK6vk5O6NX2FyTFFIyf0rXwgx6LVkED6Q6bKcG++J5Krb8duO2oDlX1eM8R6M+zfg9HOksoMtbQ8bW+Hr9jUMxXLL5fWh2OXdmIjikhMiSxfbvXHwvQEaxmHPd+Q1oY53ujEOdZpDiOSKsjIOjzrLNY6SY9uqiYxlSxmH9ItS28gotf3aRnA9rNRMGkxRUf3kXFG+8cphWs+AcmKoZut0ZVINyMnIiOo6akDP0noDQlBwKZ7UbBpUOlEd5WQ6AULKGZieFeXUuUEw2L6hT9OY+hgUELa6NV/fINS8k4o1ngV1iKqtGXmIqLlg0i0xrBlTqD9wiu85Ys2rR0mhqqkkpRA1a9YVErspGSi60yALWymuuGENZkCFaO286ZAhSNOVSymJ4fR4D5T1mNV+BxZkb9jgmU1+iC7cpWwdoxOVKVeJUvsIT8wJOc32Vae2qG/zkBuDe4irfYxrbY72iS0hqN616MEccz1zzI3MMe/KHPOhzbHQM8fCyByLrsyxGM4c5Z0ocmNwjk00D06sDUGfkSi9s8QK1eUs9XZ8/e58tvReYQjKB+czlMSDu2wPsBJp9eIe7HZ+tE2bnOWTyXIHPKT51e+W08lbGETpxfQ1y3afZ7O0EJ2ehL6XxGm8yU68OJyBdTybn57+YXZ2NguxjJmXkqZtHx7UJWVxAraw9Ta/MnUNi0hj1fHCdHK1Dplk7cMHwT5gVVrrfIFts2qDsMqQ/11OgvI7TqriWucQ7EFNmf8W1S2P31NUExLNrciPJCw9EIBEeAXYVRzswwg/9bnUN5GM/H86fwTYwAYyCfimNlJCVjzRl/Dkb1+zpf9rS0ySP16lxXN9YV/ghiMrQE+NRT17u2dQXPJM1c7brTLAiUoiE/UjCENAy9niRwZmKk/QWIMn5ZuVqeWvkCtCwMQX7JESPfxi9cK59lEm8B68LXcQtiAZgrdVih8bifoSA46koHhqIMiPckGPXna5z+KAlelHhczVzstWoE5irKm4gFJp6wKu31Gn9L2rONzBKAV48UCWsMYJVh6VwthEynJqU5EFWphKXVBlMtuC8ssa2Y4SoKfGneQhRtWurn+kPCV+sQqKNwYdubj+8RoGWcslJMWL1Rq/4fCXZ62RhDnlZ8YshiRBj4F6I2Tr4Nx+oOQdsJsPl1pShIMmlXnswfPnxM9gEX4XdUFa1N/yV6sgf7cKfaPu/ATBmi80QW/sZF6irLQsUDzRl3AT5aNmy+Cweqgv5zHw2s22C7wVv+lG6jL1yal9X6HYI+adRJ5d7J/rm8Xsu0V5hO7SL75F/i97Ro198fQwWxpvGTo3d8OtsW5yiQhFs1dfgTk0PR8/YckxMBPGU2ef79yaialuJKNnzMGB4QhzCezx09C6zIEjyWti1KEHzzJsPb3O+86yd0ZsVVev4OIOLPyAuwPIJURMy+7rp/qSiMjypKhN/nhlDBXAkxUAC1FNeHhqBlI/1ZfUiv9OikvLV6sUv9MXSoR5p6taPT2YvsEeF7nswPFJpDZ7cZqSxENg8wkqPQbi54ajF/mBKgW46iDOTJz+bt1oqGgxXlymVBz6r820SkeMcN1EhW23d6xNaHTaG6J5jLEzpEOtU24if7Wyktq6AoOGfkNQ6HUKOD5mO8JrB1g1dlvC5jNrsruoCuFNySifcidnwn3POq43tdlZPx3ykIII5E1vlBePTb0wDudN6YMfmRiHCNZN24d4YbTkJgNyt9bd2SrerMLqpYHZqIjclOXKN6s1MDtj4MXlZmZ1sE5gLP/4fA5m5XXieJrPT5ycj0SM0G+4bTxUUbCpcad6OPieQy+DYRNxlHYcqJqiVcJI4KxoHC4TevITJptpvDS/yMTNt8QOGxseX0rkIR+avzBs9iqGGb3PgZ8Z7IKV0YupXbDymcF5BRFQmTqsQM9X5kqRYZUZcWLtRkI1n7Nrj3HxB3XmeDeQJVxpCoIr2/cEdmw2HYvpWMm8idd3/Kpr13xAsKtZzvZIo76yNAeXPLt4e6sOL2wPoTJgMDXg4UfGhxK8ob06mDi8+V1JAXQZQYlvYm0GUFl2YZtXFxDYt3gVNZeU8FI+M2lzXiBd7n5cvZNmuiQ8jJ2+kfCJma4u8Gy+trZBpyS32JfgGLYO3sh5G4EOS0tKKueGFjM7Kj4tzfbAbywYSnSgWq7QpHxpsIfJJaxu8LcTZi3BdTRpwac2E0Tcb8a2BvfaM7WsOV8W574qtawFXxbnoqGeXQFDMW8nqUsvn9S/a4p5Se+meOdF/XMWeVHvtKSat/neOMl0goz03V/nXO/79+UvOL72SfHnVeCjCjcp7kGEQJ9mOKzk9Pcnv59OLgMfpJj6XzLZP7evp9Gitp8tcmo7XIezdnZzgnwuJU3XlBvjRR4XMsT14n6znUId89uv40L7uWWVEb0NAzXjAwZcQBBHW3xfUCOkuBtIIQO7Xyxjn/nRe6GpoSIk0dxRFMEzd5RE0MwdJZVEc1cj0RxzR2k0v9xRGEEvx5LSEM0XbSVhcrarSnxOeQcV7V4qnzzelQFoAndXBuhUKsEKd5REM8IJ32na2SgiuBGoxWG6W0OKkkX9mx5YGPa1S2PSnGt7SZhx7VaxmnCNxbwgR2ysR0W31q2JNibFpOXfNBgJ3rOJIFOzCwiDR2t6knVMFMPcSHkXreHbxfR/imyfJ6W1ya3BT5OvCVpTfJ6cfZrcpVcBkgATuP48eUZGzx9hvjr+Pfm7sab19mNHas77UbNmTRuoefeXVZmt1u5UWbQ2cgXM5aOFbBfeouRAd+6cP5p7aEjJYntrCSIpyY5NBzoS1NCR3eS0eciu1atIyL0MY1rUXT24SrfwOekle/RqnFOFOa5AKEVctyDMl0QGUw4VqfZo/QrBnnXsLm0yrpu4NvHIbBCncxuM5d3MdpAGZTZR0U7zXxln4miBSHBucSnreF9sKJrhpuHbllKQdllBQ3tMoOenxa75qZN3sdtCbJi39lJK2q1bz6IYt85LPZpqy62ajqQWv7bTtuNTbHWL0LLDAfsIAbn1aP1ETZN1hG4vTaa50j+QoY0g4zp0OIMZr5DlerRopGmy9p69IlKIhj69HY+Sg+okhCLHukuy0EkbUJo00qMFVw9jYYuIag9Yin1q7cH62GUT8z+PFgglidR1RdVij5q2GpW9j5YTszj7aznpdoaWWer8K2I7Q39OZ7gr0oFKZ+Yq9YzvijErPjvWAzifI9vPnpCQ1Hm8XqYLUkGLGOpIcWlxQruSVpFBHeURXFAzX1pndJq+NwRSs9KrfE6FE5RTs9LrjJ0UP7ctft5J8Qvb4hcdjJ9sYE29uF1sfKTyDjRcFU40wB7jXopjNfH0IV6qAn1aBdRUXGOn48YnJvEzNe5R4x33iO8nGyR+q0bUM6JdiRCORIMST38z6JLdenYY0BLeNDcOrtjoK0SL8ptS2IYfGFdmbTwGroRfLA6Eq1YMoi5xdXpywnx2I4my18JH++VHwIfy8/ADxodGkMGuGrc3h8ThKgj0IhL0NJ2ywEJ3+JPdo8abVsmvOhkPiuO4q9HRM5bbMoPNwbgujeCUx+O6iMDifL2IBB/Rdclutjp81yUL7XmAM/jDQd1YLs8MbuO6POGp79H6PfE5NqmcJNWH8YCaJ/qCwqU3Ig2CTb0Qsl1tH/QER+oAndSHftHnBuygflBx35R4A3ZcP2gQfZeK6Mj/7IBsZ2Eao6UEdZpPiydf9AIj/RvWDb+m4OaQ3nlkAETFJVgDqDoIbOXRjykEkfeI0BCi3gziFskDf1oX4nlPaJZH7OzcI8qvu2KLk1yKNDimuEGkqWYkWah0Q1JvPjyo5HfWjg4qyaVWI4Fq/k9QfRRQcW43GwlUi3+C6qOAinPN3eCg4gSGd52Tf0BAGc6zB8aT+GbIHuDUuiexVIGNYd9uxvLqxRqC1IS8IazxJ+z4hsSL6folRm1fMd+KxQC7oKRL4t0ExZbHTcUttUy4AjhcsKp4mhjHlEu/5hVYbh7oFkRs/ogKI5JICix2K5SlErQspjjiHa+cnDuklC+rjqIeWvoLty44iBSk5NuwRS3XaD7eOSmnCXnJ+Co0Zzz5V/YmGmiUrleySaHEWYmsYCKZqtpRzN7Hz0EANTfitDv1nlcmHs+VJUk25JlSJWl5Guyq5CsT49P7s4wO9GtesSlOoWFjcrbAMTH5mltQMUtRF0PMBDilEG95hWTFbXGtMohRUOxra970hEgucLp8jjVvk5+qCBv2mh3sZccErBTiZXsWRlfaxiAFw1fHGiwVmKoIM760QvoetBGKkxwdI7BHPlRF+DUQqj6yEXjcSa4RlCTLDo3Ad7j8qIKdGoFPEJTbQ4NU2F31RJKYWYg4XGhPBtNAjozz1gd6xjIKn6slt40Gv6t/FDGTOnEsvZ4MpoEiGf2oDxQNahQ9+gvHQBa8mZ7wpJw4K4KEuRtRyNPg2E2P09HdIE1J4k3p2ShX7gaRkwk4VjFgH7R2/aQLdGlUc5mheEsSNjRUF4Zijq+51pEfcrdU5+ydlbpTb6TVZ5ZKTOihbitfnbMqas89jpUdc1DKU28OsPpzverPP2j1F3rVX3y46uNTFkXlOUcx7i6rx4ozMZPqd+czvL9SPkA/mdhI57OnfZRfUIR/XcPU3zYizpHMCHrU2UOd5i7axNUhSEujKknr8/t7mIE1yMBlkvkb4GXodb5570fb6aSIvnkxvQlf4Pou+rrPdvsMVRmGL/ThQn6UIiv/fMbofP61uDUx7aIKSE0/v9Ppa/TD3g/Wtd63nO//BSLyM5ry+o+8LbP8GpDtey3pIW6fMogElearj5aeYbgLkLD0a7QE+T0Z5rqh2c0XuAXe+2MZ4UosRN0QtNnPr32wTUCYljKa/OgnwvA6fPvj/wPqvNql/BwBAA== - - - dbo - - \ No newline at end of file diff --git a/Step.Database/Migrations/201806271056363_InitMigration.Designer.cs b/Step.Database/Migrations/201806281409567_InitMigration.Designer.cs similarity index 92% rename from Step.Database/Migrations/201806271056363_InitMigration.Designer.cs rename to Step.Database/Migrations/201806281409567_InitMigration.Designer.cs index 11392de3..42a1fa03 100644 --- a/Step.Database/Migrations/201806271056363_InitMigration.Designer.cs +++ b/Step.Database/Migrations/201806281409567_InitMigration.Designer.cs @@ -13,7 +13,7 @@ namespace Step.Database.Migrations string IMigrationMetadata.Id { - get { return "201806271056363_InitMigration"; } + get { return "201806281409567_InitMigration"; } } string IMigrationMetadata.Source diff --git a/Step.Database/Migrations/201806271056363_InitMigration.cs b/Step.Database/Migrations/201806281409567_InitMigration.cs similarity index 94% rename from Step.Database/Migrations/201806271056363_InitMigration.cs rename to Step.Database/Migrations/201806281409567_InitMigration.cs index 0b37ce72..411f6de6 100644 --- a/Step.Database/Migrations/201806271056363_InitMigration.cs +++ b/Step.Database/Migrations/201806281409567_InitMigration.cs @@ -104,6 +104,7 @@ namespace Step.Database.Migrations magazine_id = c.Byte(nullable: false), position_id = c.Byte(nullable: false), type = c.Byte(nullable: false), + disabled = c.Boolean(nullable: false), }) .PrimaryKey(t => new { t.magazine_id, t.position_id }); @@ -228,24 +229,15 @@ namespace Step.Database.Migrations }) .PrimaryKey(t => t.id) .ForeignKey("dbo.family", t => t.family_id, cascadeDelete: true) - .ForeignKey("dbo.offset", t => t.offsetId1, cascadeDelete: true) - .ForeignKey("dbo.offset", t => t.offsetId2, cascadeDelete: true) - .ForeignKey("dbo.offset", t => t.offsetId3, cascadeDelete: true) .ForeignKey("dbo.shank", t => t.shank_id, cascadeDelete: true) .Index(t => t.family_id) - .Index(t => t.shank_id) - .Index(t => t.offsetId1) - .Index(t => t.offsetId2) - .Index(t => t.offsetId3); + .Index(t => t.shank_id); } public override void Down() { DropForeignKey("dbo.tool", "shank_id", "dbo.shank"); - DropForeignKey("dbo.tool", "offsetId3", "dbo.offset"); - DropForeignKey("dbo.tool", "offsetId2", "dbo.offset"); - DropForeignKey("dbo.tool", "offsetId1", "dbo.offset"); DropForeignKey("dbo.tool", "family_id", "dbo.family"); DropForeignKey("dbo.shank", new[] { "magazine_id", "position_id" }, "dbo.magazine_position"); DropForeignKey("dbo.session", "machine_user_id", "dbo.machine_user"); @@ -258,9 +250,6 @@ namespace Step.Database.Migrations DropForeignKey("dbo.machine_user", "user_id", "dbo.user"); DropForeignKey("dbo.machine_user", "role_id", "dbo.role"); DropForeignKey("dbo.machine_user", "machine_id", "dbo.machine"); - DropIndex("dbo.tool", new[] { "offsetId3" }); - DropIndex("dbo.tool", new[] { "offsetId2" }); - DropIndex("dbo.tool", new[] { "offsetId1" }); DropIndex("dbo.tool", new[] { "shank_id" }); DropIndex("dbo.tool", new[] { "family_id" }); DropIndex("dbo.shank", new[] { "magazine_id", "position_id" }); diff --git a/Step.Database/Migrations/201806281409567_InitMigration.resx b/Step.Database/Migrations/201806281409567_InitMigration.resx new file mode 100644 index 00000000..731640a3 --- /dev/null +++ b/Step.Database/Migrations/201806281409567_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 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Step.Database/Step.Database.csproj b/Step.Database/Step.Database.csproj index fa39431e..2245ba11 100644 --- a/Step.Database/Step.Database.csproj +++ b/Step.Database/Step.Database.csproj @@ -78,9 +78,9 @@ - - - 201806271056363_InitMigration.cs + + + 201806281409567_InitMigration.cs @@ -116,8 +116,8 @@ - - 201806271056363_InitMigration.cs + + 201806281409567_InitMigration.cs diff --git a/Step.Model/DTOModels/ToolModels/DTONcFamilyModel.cs b/Step.Model/DTOModels/ToolModels/DTONcFamilyModel.cs index d6e22ec8..617d5e90 100644 --- a/Step.Model/DTOModels/ToolModels/DTONcFamilyModel.cs +++ b/Step.Model/DTOModels/ToolModels/DTONcFamilyModel.cs @@ -66,8 +66,6 @@ namespace Step.Model.DTOModels.ToolModels [Required] public short ReviveDelta { get; set; } - public List Tools; - public static explicit operator DTONcFamilyModel(NcFamilyModel obj) { return new DTONcFamilyModel() diff --git a/Step.Model/DTOModels/ToolModels/DTONcShankModel.cs b/Step.Model/DTOModels/ToolModels/DTONcShankModel.cs index ecb4bb60..50b3251a 100644 --- a/Step.Model/DTOModels/ToolModels/DTONcShankModel.cs +++ b/Step.Model/DTOModels/ToolModels/DTONcShankModel.cs @@ -1,6 +1,7 @@ using Step.Model.DatabaseModels; using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -10,9 +11,11 @@ namespace Step.Model.DTOModels.ToolModels public class DTONcShankModel { public int Id { get; set; } - + + [Required] public short? Balluf { get; set; } + [Required] public byte MagazinePositionType { get; set; } public byte? MagazineId { get; set; } diff --git a/Step.Model/DTOModels/ToolModels/DTONcToolModel.cs b/Step.Model/DTOModels/ToolModels/DTONcToolModel.cs index f5ba2d4e..994d4381 100644 --- a/Step.Model/DTOModels/ToolModels/DTONcToolModel.cs +++ b/Step.Model/DTOModels/ToolModels/DTONcToolModel.cs @@ -1,10 +1,5 @@ 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 { @@ -31,6 +26,12 @@ namespace Step.Model.DTOModels.ToolModels [Required] public int ShankId { get; set; } + public int? Offset1 { get; set; } + + public int? Offset2 { get; set; } + + public int? Offset3 { get; set; } + public static explicit operator DTONcToolModel(NcToolModel obj) { return new DTONcToolModel() @@ -59,4 +60,13 @@ namespace Step.Model.DTOModels.ToolModels }; } } -} + + public class DTONcMagazinesPositionsModel + { + [Required] + public bool Disabled { get; set; } + + [Required] + public byte Type { get; set; } + } +} \ No newline at end of file diff --git a/Step.Model/DTOModels/ToolModels/DTOSiemensToolModel.cs b/Step.Model/DTOModels/ToolModels/DTOSiemensToolModel.cs index b811a6f3..616ce89f 100644 --- a/Step.Model/DTOModels/ToolModels/DTOSiemensToolModel.cs +++ b/Step.Model/DTOModels/ToolModels/DTOSiemensToolModel.cs @@ -91,7 +91,7 @@ namespace Step.Model.DTOModels.ToolModels public class DTOMagazinesPositionsModel { - [Required()] + [Required] public bool Disabled { get; set; } } diff --git a/Step.Model/DatabaseModels/NcFamilyModel.cs b/Step.Model/DatabaseModels/NcFamilyModel.cs index 2237e86d..1d559982 100644 --- a/Step.Model/DatabaseModels/NcFamilyModel.cs +++ b/Step.Model/DatabaseModels/NcFamilyModel.cs @@ -65,6 +65,6 @@ namespace Step.Model.DatabaseModels [Column("revive_delta")] public short ReviveDelta { get; set; } - public List Tools; + public ICollection Tools; } } \ No newline at end of file diff --git a/Step.Model/DatabaseModels/NcMagazinePositionModel.cs b/Step.Model/DatabaseModels/NcMagazinePositionModel.cs index 7730cf7d..3d79d95b 100644 --- a/Step.Model/DatabaseModels/NcMagazinePositionModel.cs +++ b/Step.Model/DatabaseModels/NcMagazinePositionModel.cs @@ -14,5 +14,8 @@ namespace Step.Model.DatabaseModels [Column("type")] public byte Type { get; set; } + + [Column("disabled")] + public bool Disabled { get; set; } } } diff --git a/Step.Model/DatabaseModels/NcShankModel.cs b/Step.Model/DatabaseModels/NcShankModel.cs index 30b1cc70..50acef53 100644 --- a/Step.Model/DatabaseModels/NcShankModel.cs +++ b/Step.Model/DatabaseModels/NcShankModel.cs @@ -22,6 +22,6 @@ namespace Step.Model.DatabaseModels [ForeignKey("MagazinePosition"), Column("position_id", Order = 1)] public byte? PositionId { get; set; } - public virtual NcMagazinePositionModel MagazinePosition { get; set; } + public NcMagazinePositionModel MagazinePosition { get; set; } } } \ No newline at end of file diff --git a/Step.Model/DatabaseModels/NcToolModel.cs b/Step.Model/DatabaseModels/NcToolModel.cs index b97956ef..48b1bbeb 100644 --- a/Step.Model/DatabaseModels/NcToolModel.cs +++ b/Step.Model/DatabaseModels/NcToolModel.cs @@ -32,21 +32,15 @@ namespace Step.Model.DatabaseModels public int ShankId { get; set; } [Column("offsetId1")] - [ForeignKey("Offset1")] public int OffsetId1 { get; set; } [Column("offsetId2")] - [ForeignKey("Offset2")] public int OffsetId2 { get; set; } [Column("offsetId3")] - [ForeignKey("Offset3")] public int OffsetId3 { get; set; } public virtual NcFamilyModel Family { get; set; } public virtual NcShankModel Shank { get; set; } - public virtual NcOffsetModel Offset1 { get; set; } - public virtual NcOffsetModel Offset2 { get; set; } - public virtual NcOffsetModel Offset3 { get; set; } } } \ No newline at end of file diff --git a/Step.NC/NcHandler.cs b/Step.NC/NcHandler.cs index b63bd5fe..76825361 100644 --- a/Step.NC/NcHandler.cs +++ b/Step.NC/NcHandler.cs @@ -155,7 +155,6 @@ namespace Step.NC // Select distints //alarms.NcAlarms = alarms.NcAlarms?.GroupBy(x => x.Id).Select(x => x.First()).ToList(); - // Get NC max process number ushort maxProcNumber = 0; cmsError = numericalControl.NC_RProcessesNum(ref maxProcNumber); @@ -360,7 +359,7 @@ namespace Step.NC counters = new List(); // Get counters values from PLC CmsError cmsError = numericalControl.PLC_RMachineCounters(ref counters); - + return cmsError; } @@ -421,6 +420,7 @@ namespace Step.NC missingDays = TimeSpan.FromMinutes(-1 * (counter.Value - perfVal - SupportFunctions.ConvertInMinutes(currMaintenance.Interval.Value, currMaintenance.UnitOfMeasure.Value))); } break; + case MAINTENANCE_TYPE.EXP_DATE: { // Already performed @@ -437,6 +437,7 @@ namespace Step.NC } } break; + case MAINTENANCE_TYPE.TIME_INTERVAL: { // Get last performed, default value is maintenance creation date @@ -451,7 +452,7 @@ namespace Step.NC // percentage = Passed minutes since last maintenance * 100 / Interval percentage = (minutesPassedFromLastMaint * 100) / SupportFunctions.ConvertInMinutes(currMaintenance.Interval.Value, currMaintenance.UnitOfMeasure.Value); - missingDays = TimeSpan.FromMinutes( -1 * (minutesPassedFromLastMaint - SupportFunctions.ConvertInMinutes(currMaintenance.Interval.Value, currMaintenance.UnitOfMeasure.Value))); + missingDays = TimeSpan.FromMinutes(-1 * (minutesPassedFromLastMaint - SupportFunctions.ConvertInMinutes(currMaintenance.Interval.Value, currMaintenance.UnitOfMeasure.Value))); counter = new CounterModel(); } break; @@ -460,7 +461,7 @@ namespace Step.NC canEdit = false; using (MachinesUsersController machineUsersController = new MachinesUsersController()) { - if(currMaintenance.UserId != null) + if (currMaintenance.UserId != null) { // Check if user can edit the maintenance -> caller id - maintenance user id int comparision = machineUsersController.CompareUsersRole(userId, currMaintenance.UserId.Value, MachineConfig.MachineId); @@ -547,7 +548,7 @@ namespace Step.NC expiredMaintenance.Add(new DTOExpiredMaintenanceModel() { Id = currMaintenance.MaintenanceId, - ExpirationDate = (DateTime)currMaintenance.LastExpirationDate, + ExpirationDate = (DateTime)currMaintenance.LastExpirationDate, CreatedByCms = currMaintenance.UserId == null, Title = currMaintenance.UserId == null ? "" : currMaintenance.Title }); @@ -575,7 +576,6 @@ namespace Step.NC Title = currMaintenance.UserId == null ? "" : currMaintenance.Title, }); } - } break; @@ -729,7 +729,7 @@ namespace Step.NC ActualSpeed = head.ActualSpeed_Pressure, Load = head.Load_Abrasive, MountedTool = (ushort)head.MountedTool_Vacum, - Override = head.Override, + Override = head.Override, IsActive = head.IsActive, IsSelected = head.IsSelected }); @@ -790,7 +790,7 @@ namespace Step.NC if (cmsError.IsError()) return cmsError; - if( selectedProcess != 0) + if (selectedProcess != 0) { // Read axes names cmsError = numericalControl.AXES_RAxesNames(selectedProcess, ref plcAxes); @@ -800,7 +800,6 @@ namespace Step.NC Id = x.Id, Name = x.Name }).ToList(); - } return cmsError; @@ -839,7 +838,7 @@ namespace Step.NC public CmsError GetMagazineStatus(out DTOMagazineActionModel magazineStatus) { // Set up models - magazineStatus= new DTOMagazineActionModel(); + magazineStatus = new DTOMagazineActionModel(); MagazineActionModel libModel = new MagazineActionModel(); // Read status from NC CmsError cmsError = numericalControl.TOOLS_GetMagazinesStatus(ref libModel); @@ -853,46 +852,46 @@ namespace Step.NC // OSAI FANUC TOOL MANAGER - public void GetToolTableData(out List tools) - { - using (NcToolManagerController toolsManager = new NcToolManagerController()) - { - tools = toolsManager.GetTools(); - } - } + //public List GetToolTableData() + //{ + // using (NcToolManagerController toolsManager = new NcToolManagerController()) + // { + // return toolsManager.GetTools(); + // } + //} - public void GetFamilies(out List families) - { - using (NcToolManagerController toolsManager = new NcToolManagerController()) - { - families = toolsManager.GetFamilies(); - } - } + //public List GetFamilies() + //{ + // using (NcToolManagerController toolsManager = new NcToolManagerController()) + // { + // return toolsManager.GetFamilies(); + // } + //} - public void GetShanksData(out List shanks) - { - using (NcToolManagerController toolsManager = new NcToolManagerController()) - { - shanks = toolsManager.GetShanks(); - } - } + //public List GetShanksData() + //{ + // using (NcToolManagerController toolsManager = new NcToolManagerController()) + // { + // return toolsManager.GetShanks(); + // } + //} - public void GetPositions(out List positions) - { - using (NcToolManagerController toolsManager = new NcToolManagerController()) - { - positions = toolsManager.GetPositions(); - } - } + //public List GetPositions() + //{ + // using (NcToolManagerController toolsManager = new NcToolManagerController()) + // { + // return toolsManager.GetPositions(); + // } + //} + + //public List GetOffsets() + //{ + // using (NcToolManagerController toolsManager = new NcToolManagerController()) + // { + // return toolsManager.GetOffsets(); + // } + //} - public void GetOffsets(out List offset) - { - using (NcToolManagerController toolsManager = new NcToolManagerController()) - { - offset = toolsManager.GetOffsets(); - } - } - #endregion Read Data #region Write data @@ -922,7 +921,7 @@ namespace Step.NC // Write in memory the request to restore the alarm return numericalControl.PLC_WRestoreMessage(id); } - + public CmsError RefreshAllAlarms() { return numericalControl.PLC_WRefreshAllMessages(); @@ -954,8 +953,8 @@ namespace Step.NC return numericalControl.PLC_WPowerOnData(id, true); } - #region Tools - + #region Siemens Tools + public CmsError AddTool(ref SiemensToolModel tool) { return numericalControl.TOOLS_WAddTool(ref tool); @@ -1059,10 +1058,12 @@ namespace Step.NC return numericalControl.TOOLS_WUnloadToolFromShank(shankId, positionId); } - #endregion + #endregion Siemens Tools // OSAI FANUC + #region Osai/Fanuc Tools + public NcToolModel AddTool(DTONcToolModel tool) { using (NcToolManagerController toolsManager = new NcToolManagerController()) @@ -1094,6 +1095,48 @@ namespace Step.NC return toolsManager.AddShank(shank); } } + + public NcShankModel UpdateShank(NcShankModel shank, DTONcShankModel dtoShank) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + return toolsManager.UpdateShank(shank, dtoShank); + } + } + + public NcMagazinePositionModel UpdateMagazinePosition(NcMagazinePositionModel dbPos, DTONcMagazinesPositionsModel dtoPos) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + return toolsManager.UpdatePosition(dbPos, dtoPos); + } + } + + public void DeleteNcTool(NcToolModel tool) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + toolsManager.DeleleTool(tool); + } + } + + public void DeleteNcShank(NcShankModel shank) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + toolsManager.DeleleShank(shank); + } + } + + public void DeleteNcFamily(NcFamilyModel family) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + toolsManager.DeleleFamily(family); + } + } + #endregion Osai/Fanuc Tools + #endregion Write data } } \ No newline at end of file diff --git a/Step/Controllers/WebApi/NcToolManagerController.cs b/Step/Controllers/WebApi/NcToolManagerController.cs index 17870c71..862b91da 100644 --- a/Step/Controllers/WebApi/NcToolManagerController.cs +++ b/Step/Controllers/WebApi/NcToolManagerController.cs @@ -2,12 +2,8 @@ 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 @@ -15,68 +11,19 @@ namespace Step.Controllers.WebApi [RoutePrefix("api/tool_manager/nc")] public class NcToolManagerApiController : ApiController { + #region Tools + [Route("tools"), HttpGet] public IHttpActionResult GetNcToolTable() { - using (NcHandler ncHandler = new NcHandler()) + using (NcToolManagerController toolsManager = new NcToolManagerController()) { - ncHandler.Connect(); - ncHandler.GetToolTableData(out List tools); + List tools = toolsManager.GetTools(); 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 dtoTool) { @@ -114,27 +61,9 @@ namespace Step.Controllers.WebApi } } - [Route("family"), HttpPost] - public IHttpActionResult AddFamily([FromBody][Required]DTONcFamilyModel dtoFamily) + [Route("tool/{toolId:int}"), HttpDelete] + public IHttpActionResult DeleteTool(int toolId) { - if (!ModelState.IsValid) - return BadRequest(ModelState); - - using (NcHandler ncHandler = new NcHandler()) - { - ncHandler.Connect(); - NcFamilyModel newFamily = ncHandler.AddFamily(dtoFamily); - - return Ok(newFamily); - } - } - - [Route("tool/{toolId:int}"), HttpPut] - public IHttpActionResult PutFamily(int toolId, [FromBody][Required]DTONcToolModel dtoTool) - { - if (!ModelState.IsValid) - return BadRequest(ModelState); - using (NcToolManagerController toolsManager = new NcToolManagerController()) { NcToolModel tool = toolsManager.FindTool(toolId); @@ -144,13 +73,29 @@ namespace Step.Controllers.WebApi using (NcHandler ncHandler = new NcHandler()) { ncHandler.Connect(); - NcToolModel newTool = ncHandler.UpdateTool(tool, dtoTool); - return Ok(newTool); + ncHandler.DeleteNcTool(tool); + + return Ok(); } } } + #endregion Tools + + #region Shanks + + [Route("shanks"), HttpGet] + public IHttpActionResult GetShanks() + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + List shanks = toolsManager.GetShanks(); + + return Ok(shanks); + } + } + [Route("shank"), HttpPost] public IHttpActionResult AddShank([FromBody][Required] DTONcShankModel dtoShank) { @@ -164,5 +109,168 @@ namespace Step.Controllers.WebApi return Ok(shank); } } + + [Route("shank/{shankId:int}"), HttpPut] + public IHttpActionResult PutShank(int shankId, [FromBody][Required]DTONcShankModel dtoShank) + { + if (!ModelState.IsValid) + return BadRequest(ModelState); + + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + NcShankModel shank = toolsManager.FindShank(shankId); + if (shank == null) + return NotFound(); + + using (NcHandler ncHandler = new NcHandler()) + { + ncHandler.Connect(); + shank = ncHandler.UpdateShank(shank, dtoShank); + + return Ok(shank); + } + } + } + + [Route("shank/{shankId:int}"), HttpDelete] + public IHttpActionResult DeleteShank(int shankId) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + NcShankModel shank = toolsManager.FindShank(shankId); + if (shank == null) + return NotFound(); + + using (NcHandler ncHandler = new NcHandler()) + { + ncHandler.Connect(); + + ncHandler.DeleteNcShank(shank); + + return Ok(); + } + } + } + + #endregion Shanks + + #region Families + + [Route("family"), HttpPost] + public IHttpActionResult AddFamily([FromBody][Required]DTONcFamilyModel dtoFamily) + { + if (!ModelState.IsValid) + return BadRequest(ModelState); + + using (NcHandler ncHandler = new NcHandler()) + { + ncHandler.Connect(); + NcFamilyModel newFamily = ncHandler.AddFamily(dtoFamily); + + return Ok(newFamily); + } + } + + [Route("families"), HttpGet] + public IHttpActionResult GetFamilies() + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + List families = toolsManager.GetFamilies(); + + return Ok(families); + } + } + + [Route("family/{famlyId:int}"), HttpPut] + public IHttpActionResult PutFamily(int familyId, [FromBody][Required]DTONcToolModel dtoTool) + { + if (!ModelState.IsValid) + return BadRequest(ModelState); + + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + NcToolModel tool = toolsManager.FindTool(familyId); + if (tool == null) + return NotFound(); + + using (NcHandler ncHandler = new NcHandler()) + { + ncHandler.Connect(); + NcToolModel newTool = ncHandler.UpdateTool(tool, dtoTool); + + return Ok(newTool); + } + } + } + + [Route("family/{familyId:int}"), HttpDelete] + public IHttpActionResult DeleteFamily(int familyId) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + NcFamilyModel family = toolsManager.FindFamily(familyId); + if (family == null) + return NotFound(); + + using (NcHandler ncHandler = new NcHandler()) + { + ncHandler.Connect(); + + ncHandler.DeleteNcFamily(family); + + return Ok(); + } + } + } + + #endregion Families + + #region Magazine positions + + [Route("magazines_positions"), HttpGet] + public IHttpActionResult GetMagazinesPositions() + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + List magazines = toolsManager.GetPositions(); + + return Ok(magazines); + } + } + + [Route("magazine/{magazineId:int}/position/{positionId:int}"), HttpGet] + public IHttpActionResult GetMagazinesPositions(byte magazineId, byte positionId) + { + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + NcMagazinePositionModel magazine = toolsManager.GetPosition(magazineId, positionId); + + return Ok(magazine); + } + } + + [Route("magazine/{magazineId}/position/{positionId}"), HttpPut] + public IHttpActionResult PutMagazinePosition([Required]byte magazineId, [Required]byte positionId, [FromBody]DTONcMagazinesPositionsModel dtoPos) + { + if (!ModelState.IsValid) + return BadRequest(ModelState); + + using (NcToolManagerController toolsManager = new NcToolManagerController()) + { + NcMagazinePositionModel pos = toolsManager.GetPosition(magazineId, positionId); + if (pos == null) + return NotFound(); + + using (NcHandler ncHandler = new NcHandler()) + { + pos = ncHandler.UpdateMagazinePosition(pos, dtoPos); + return Ok(pos); + } + } + } + + #endregion Magazine positions + } -} +} \ No newline at end of file