コード例 #1
0
        private List <T> TransformModels <T>(List <ToolGridRecord> uiRecords)
            where T : class, new()
        {
            List <T> resultRecords = new List <T>();

            foreach (var record in uiRecords)
            {
                if (typeof(T) == typeof(ToolAssembly))
                {
                    var tool = new ToolAssembly();

                    tool.Name           = record.Name;
                    tool.CutterAssembly = new CutterAssembly {
                        Cutter = new Cutter()
                    };
                    tool.CutterAssembly.Cutter.Diameter = record.Size;
                    if (record.Length != null)
                    {
                        tool.Length = (int)record.Length;
                    }
                    tool.Quantity = record.Quantity;
                    resultRecords.Add(tool as T);
                }
                if (typeof(T) == typeof(CutterAssembly))
                {
                    var tool = new CutterAssembly();

                    tool.Name            = record.Name;
                    tool.Cutter          = new Cutter();
                    tool.Cutter.Diameter = record.Size;
                    if (record.Length != null)
                    {
                        tool.Length = (int)record.Length;
                    }
                    tool.Quantity = record.Quantity;
                    resultRecords.Add(tool as T);
                }
                if (typeof(T) == typeof(Holder))
                {
                    var tool = new Holder();

                    tool.Name = record.Name;
                    if (record.Length != null)
                    {
                        tool.Length = (int)record.Length;
                    }
                    tool.Quantity = record.Quantity;
                    resultRecords.Add(tool as T);
                }
            }

            return(resultRecords);
        }
コード例 #2
0
        private ToolAssembly GetExpectedToolAssembly(bool expPlateExists = false)
        {
            var expectedTool = new ToolAssembly();

            if (expPlateExists)
            {
                expectedTool.Name                  = "000P082K07010000";
                expectedTool.CutterAssembly        = new CutterAssembly();
                expectedTool.CutterAssembly.Cutter =
                    new Cutter {
                    Diameter = 114000000, Name = "D 100 PLAN R345 SANDVIK STAHL SL"
                };
                expectedTool.CutterAssembly.ExchangablePlate =
                    new ExchangablePlate()
                {
                    Name = "D 100 PLAN R345 SANDVIK STAHL SL"
                };
                expectedTool.CutterAssembly.Cutter.EdgeNr = 10;
                expectedTool.Length   = 110000000;
                expectedTool.Quantity = 6;
                expectedTool.Holders  = new List <Holder>();
                expectedTool.Holders.Add(new Holder {
                    Name = "D32 AUFSTECK KEMMLER EL024 GL060 HSK63"
                });
                expectedTool.UsageMaterials = new List <string> {
                    "DMU STAHL", "GG", "STAHL", "WZG-STAHL"
                };
            }
            else
            {
                expectedTool.Name                  = "060K098T000F0650";
                expectedTool.CutterAssembly        = new CutterAssembly();
                expectedTool.CutterAssembly.Cutter =
                    new Cutter {
                    Diameter = 6000000, Name = "KF 06.0 35KON 1.5 POKOLM GL75"
                };
                expectedTool.CutterAssembly.Cutter.EdgeNr = 1;
                expectedTool.Length   = 126000000;
                expectedTool.Quantity = 0;
                expectedTool.Holders  = new List <Holder>();
                expectedTool.Holders.Add(new Holder {
                    Name = "D08 SCHRUMPF POKOLM EL50 HSK50"
                });
                expectedTool.UsageMaterials = new List <string>()
                {
                    "ALU", "STAHL", "WZ.STAHL"
                };
            }

            return(expectedTool);
        }
コード例 #3
0
        public void ToolAndLocationLinkingTest()
        {
            #region test data

            Dictionary <string, string> locations =
                new Dictionary <string, string> {
                { "Magazine 5", "QWER1234" }, { "Magazine 1", "0WW7SYY1QP8QFGWJ" }
            };

            ToolAssembly targetAssembly = new ToolAssembly
            {
                Id   = "128",
                Name = "006K066S000F0122"
            };
            string targetAssemblyInstanceGuid = "TESTINGVG1QWERTY1";
            int    toolInstanceId             = 81;

            #endregion

            App.Ui.ToolsMain.OpenToolAssemblyDirectly(targetAssembly.Id);
            var instanceInStock =
                App.Ui.ToolManagerToolInfo.GetToolInstances().First(i => i.Id.Equals(toolInstanceId));

            var targetLocation = locations.First(l => !l.Key.Equals(instanceInStock.Location));

            for (int i = 0; i < 2; i++)
            {
                App.Ui.Main.NavigateToSectionInSideMenu(SidePanelData.Sections.ToolLinking);

                App.Ui.Link.PopulateFirstItem(targetAssemblyInstanceGuid);
                App.Ui.Link.PopulateSecondItem(targetLocation.Value);

                var message = App.Ui.Link.GetSuccessResultMessage();

                Assert.True(message.Equals("Success"), "Linking wasn't successful");

                App.Ui.Link.CloseLinkPopup();
                App.Ui.ToolsMain.OpenToolAssemblyDirectly(targetAssembly.Id);

                instanceInStock = App.Ui.ToolManagerToolInfo.GetToolInstances()
                                  .First(ins => ins.Id.Equals(toolInstanceId));

                Assert.True(instanceInStock.Location.Equals(targetLocation.Key));

                targetLocation = locations.First(l => !l.Key.Equals(targetLocation.Key));
            }
        }
コード例 #4
0
        private void CompareToolAssemblyDetails(ToolAssembly expectedTool, ToolAssembly actualTool)
        {
            Assert.Multiple(
                () =>
            {
                Assert.True(actualTool.Name.Equals(expectedTool.Name), "Name is wrong");
                Assert.True(
                    actualTool.CutterAssembly.Cutter.Diameter
                    .Equals(expectedTool.CutterAssembly.Cutter.Diameter),
                    $"Size is wrong. Expected is {expectedTool.CutterAssembly.Cutter.Diameter} but actual is { actualTool.CutterAssembly.Cutter.Diameter}");
                Assert.True(
                    ServiceMethods.RemoveMultipleInnerWhitespaces(actualTool.CutterAssembly.Cutter.Name)
                    .Equals(ServiceMethods.RemoveMultipleInnerWhitespaces(expectedTool.CutterAssembly.Cutter.Name)),
                    $"Cutter component name is wrong. Expected '{expectedTool.CutterAssembly.Cutter.Name}'");
                if (expectedTool.CutterAssembly.ExchangablePlate != null)
                {
                    Assert.True(
                        actualTool.CutterAssembly.ExchangablePlate != null && ServiceMethods.RemoveMultipleInnerWhitespaces(actualTool.CutterAssembly.ExchangablePlate.Name)
                        .Equals(ServiceMethods.RemoveMultipleInnerWhitespaces(expectedTool.CutterAssembly.ExchangablePlate.Name)),
                        $"Exchangable plate is wrong. Expected '{expectedTool.CutterAssembly.ExchangablePlate.Name}'");
                }
                else
                {
                    Assert.True(actualTool.CutterAssembly.ExchangablePlate == null, "Exchangable plate is wrong");
                }

                Assert.True(actualTool.Length.Equals(expectedTool.Length), "Length is wrong");
                Assert.True(actualTool.Quantity >= expectedTool.Quantity, "Quantity is wrong");
                Assert.True(
                    ServiceMethods.RemoveMultipleInnerWhitespaces(actualTool.Holders.First().Name)
                    .Equals(ServiceMethods.RemoveMultipleInnerWhitespaces(expectedTool.Holders.First().Name)),
                    "Holder name is wrong");

                Assert.True(actualTool.CutterAssembly.Cutter.EdgeNr.Equals(actualTool.CutterAssembly.Cutter.EdgeNr), "Cutters quantity is incorrect");
                Assert.True(actualTool.UsageMaterials.SequenceEqual(expectedTool.UsageMaterials), "Usage materials are wrong");
            });
        }
コード例 #5
0
        public ToolAssembly GetToolAssemblyInfo()
        {
            var          info = this.GetToolInformaion();
            ToolAssembly tool = new ToolAssembly();


            tool.Description           = info["Short description"];
            tool.Name                  = info["Tool type"];
            tool.CutterAssembly        = new CutterAssembly();
            tool.CutterAssembly.Cutter = new Cutter();
            if (info["Size"] != string.Empty)
            {
                tool.CutterAssembly.Cutter.Diameter = int.Parse(info["Size"]);
            }

            tool.Length   = int.Parse(info["Length"]);
            tool.Quantity = int.Parse(info["Quantity in stock"]);

            tool.UsageMaterials = new List <string> {
                string.Empty
            };
            var usageMaterials = info["Usage material"].Split(',').ToList();

            tool.UsageMaterials = new List <string>();
            usageMaterials.ForEach(e => tool.UsageMaterials.Add(e.Trim()));

            // ToDo: 'Maximum lifetime' usage and 'Operating depth' to be added after defining requirements
            var relatedComponents = this.GetRelatedComponents();

            int i = 0;

            foreach (var component in relatedComponents)
            {
                switch (i)
                {
                case 0:
                {
                    tool.CutterAssembly.Cutter.Name = component.Name;
                    break;
                }

                case 1:
                {
                    if (relatedComponents.Count > 2)
                    {
                        tool.CutterAssembly.ExchangablePlate = new ExchangablePlate {
                            Name = component.Name
                        };
                        tool.CutterAssembly.Cutter.EdgeNr = component.Quantity;
                    }
                    else
                    {
                        tool.Holders = new List <Holder> {
                            new Holder {
                                Name = component.Name
                            }
                        };
                    }

                    break;
                }

                default:
                {
                    tool.Holders = new List <Holder> {
                        new Holder {
                            Name = component.Name
                        }
                    };
                    break;
                }
                }

                i++;
            }

            return(tool);
        }