private void ScrollViewer_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            System.Diagnostics.Debug.WriteLine("DrawingArea_MouseLeftButtonUp" + new Random().Next());
            PageManager pageManager = (App.Current.MainWindow.FindName("MainGrid") as Grid).DataContext as PageManager;

            if ((pageManager.CurrentPage.Item as Project).WorkOrders[0].SelectedItem == null)
            {
                ToolbarManager toolbarManager = (App.Current.MainWindow.FindName("Toolbox") as ToolBar).DataContext as ToolbarManager;
                if (toolbarManager.SelectedToolbar != null)
                {
                    Project project = (pageManager.CurrentPage.Item as Project);
                    Stock   stock   = project.WorkOrders[0].Items[0].Material;
                    //todo: handle more WorkItem selection
                    if (toolbarManager.SelectedToolbar.Name.Contains("LShapeItem"))
                    {
                        LShapeItem wo = new LShapeItem(toolbarManager.SelectedToolbar.Name, stock, 0, 0);
                        project.WorkOrders[0].Items.Add(wo);
                    }
                    else if (toolbarManager.SelectedToolbar.Name.Contains("RectItem"))
                    {
                        RectItem wo = new RectItem(toolbarManager.SelectedToolbar.Name, stock, 0, 0);
                        project.WorkOrders[0].Items.Add(wo);
                    }
                }
            }
            else
            {
                Canvas canvas      = (sender as Control).FindName("DrawingArea") as Canvas;
                Point  newPosition = e.GetPosition(canvas);
                (pageManager.CurrentPage.Item as Project).WorkOrders[0].SelectedItem.Left += newPosition.X - originalPoint.X;
                (pageManager.CurrentPage.Item as Project).WorkOrders[0].SelectedItem.Top  += newPosition.Y - originalPoint.Y;
                (pageManager.CurrentPage.Item as Project).WorkOrders[0].SelectedItem       = null;//reset
            }
        }
示例#2
0
        public void LengthValueChangedTest()
        {
            LShapeItem l        = new LShapeItem();
            int        start    = 3;
            Bullnose   bullnose = new Bullnose("r");

            l.Lengths[start].Type = bullnose;
            for (int i = start; i < l.Lengths.Count; i++)
            {
                Assert.AreEqual(bullnose.Model, l.Lengths[i].Type.Model);
            }
        }
示例#3
0
        public void WorkOrderUniqueGuidTest()
        {
            Stock stock = new Stock {
                Name1 = "Blue Pearl"
            };
            LShapeItem w1 = new LShapeItem("LShapeItem04", stock, 48, 108);

            w1.Lengths[1].Type = new Bullnose("dep2");
            w1.Lengths[2].Type = new Bullnose("dep2");
            w1.Lengths[3].Type = new Bullnose("dep2");
            w1.Lengths[4].Type = new Bullnose("dep2");

            RectItem w2 = new RectItem("RectItem00", stock, 24, 6);

            w2.Top  = 400;
            w2.Left = 200;
            w2.AddElement();

            RectItem w3 = new RectItem("RectItem00", stock, 28, 13);

            w3.Top = 100;
            w3.AddElement();
            w3.AddElement();

            RectItem w4 = new RectItem("RectItem00", stock, 36, 4);

            w4.Top = 100;
            w4.AddElement();
            w4.AddElement();
            w4.AddElement();

            WorkOrder target = new WorkOrder();

            target.Items.Add(w1);
            target.Items.Add(w2);
            target.Items.Add(w3);
            target.Items.Add(w4);

            //using dictionary to insert unique key for all ShapeItem and the children collection.
            Dictionary <string, ShapeItem> actual = new Dictionary <string, ShapeItem>();

            RetrieveShapeItem(target.Items, ref actual);
            //if cause exception means fail
            System.Diagnostics.Debug.WriteLine(actual.Count);
        }
 private void ScrollViewer_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
 {
     System.Diagnostics.Debug.WriteLine("DrawingArea_MouseLeftButtonUp" + new Random().Next());
     //if (this.selectedWorkItem == null)
     if ((this.pageManager.Items[0].Item as Project).WorkOrders[0].SelectedItem == null)
     {
         if (this.toolbarManager.SelectedToolbar != null)
         {
             LShapeItem wo = new LShapeItem();
             wo.Tags.Add(this.toolbarManager.SelectedToolbar.Name);
             (this.pageManager.Items[0].Item as Project).WorkOrders[0].Items.Add(wo);
         }
     }
     else //if (this.selectedWorkItem != null)
     {
         Point newPosition = e.GetPosition(this.DrawingArea);
         //this.selectedWorkItem.Left += newPosition.X - originalPoint.X;
         //this.selectedWorkItem.Top += newPosition.Y - originalPoint.Y;
         //this.selectedWorkItem = null;//reset
         (this.pageManager.Items[0].Item as Project).WorkOrders[0].SelectedItem.Left += newPosition.X - originalPoint.X;
         (this.pageManager.Items[0].Item as Project).WorkOrders[0].SelectedItem.Top  += newPosition.Y - originalPoint.Y;
         (this.pageManager.Items[0].Item as Project).WorkOrders[0].SelectedItem       = null;//reset
     }
 }
示例#5
0
        private Project CreateProject()
        {
            Employee creator = new Employee();

            creator.EmailAddresses.Add(new vCardEmailAddress {
                Address = "*****@*****.**"
            });

            Customer agent = new Customer {
                GivenName = "One Kitchen" + new Random().Next(20)
            };

            Customer customer = new Customer {
                GivenName = "Ah Shing"
            };

            customer.Phones.Add(new vCardPhone {
                FullNumber = "012-4711134"
            });
            vCardDeliveryAddress deliver = new vCardDeliveryAddress();

            deliver.Street     = "963 Jalan 6\nMachang Bubok";
            deliver.City       = "Bukit Mertajam";
            deliver.Region     = "Penang";
            deliver.PostalCode = "14020";
            deliver.Country    = "Malaysia";
            customer.DeliveryAddresses.Add(deliver);
            customer.Latitude  = 5.33398f;
            customer.Longitude = 100.50754f;

            Project target = new Project();

            target.CreatedBy = creator;
            target.DeliverTo = customer;//customer.DeliveryAddresses[0];
            target.OrderBy   = agent;
            target.Stage     = ProjectStage.Draft;

            int   size  = DatabaseObject.Stocks.Stock.Count;
            Stock stock = DatabaseObject.Stocks.Stock[new Random().Next(size)];

            LShapeItem w1 = new LShapeItem("LShapeItem04", stock, 48, 108);

            w1.Lengths[1].Type = new Bullnose("dep2");
            w1.Lengths[2].Type = new Bullnose("dep2");
            w1.Lengths[3].Type = new Bullnose("dep2");
            w1.Lengths[4].Type = new Bullnose("dep2");
            //w1.Elements.Add(new VerticalLine(string.Empty, 150));

            RectItem w2 = new RectItem("RectItem00", stock, 24, 6);

            w2.Top  = 400;
            w2.Left = 200;
            w2.AddElement();

            RectItem w3 = new RectItem("RectItem00", stock, 28, 13);

            w3.Top = 100;
            w3.AddElement();
            w3.AddElement();

            RectItem w4 = new RectItem("RectItem00", stock, 36, 4);

            w4.Top = 100;
            w4.AddElement();
            w4.AddElement();
            w4.AddElement();

            WorkOrder wo = new WorkOrder();

            wo.Items.Add(w1);
            wo.Items.Add(w2);
            wo.Items.Add(w3);
            wo.Items.Add(w4);
            target.WorkOrders.Add(wo);

            return(target);
        }
        private Project CreateProject()
        {
            Employee creator = new Employee();

            creator.EmailAddresses.Add(new vCardEmailAddress {
                Address = "*****@*****.**"
            });

            Customer agent = new Customer {
                GivenName = "John" + new Random().Next(20)
            };

            Customer customer = new Customer {
                GivenName = "Ah Hock"
            };

            customer.Phones.Add(new vCardPhone {
                FullNumber = "012-4711134"
            });
            vCardDeliveryAddress deliver = new vCardDeliveryAddress();

            deliver.Street     = "963 Jalan 6";
            deliver.Region     = "Machang Bubok";
            deliver.City       = "Bukit Mertajam";
            deliver.PostalCode = "05400";
            deliver.Country    = "Malaysia";
            customer.DeliveryAddresses.Add(deliver);
            customer.Latitude  = 6.09105f;
            customer.Longitude = 100.44629f;

            Project target = new Project();

            target.CreatedBy = creator;
            target.DeliverTo = customer;//customer.DeliveryAddresses[0];
            target.OrderBy   = agent;
            target.Stage     = ProjectStage.Draft;

            int   size  = DatabaseObject.Stocks.Stock.Count;
            Stock stock = DatabaseObject.Stocks.Stock[new Random().Next(size)];

            LShapeItem w1 = new LShapeItem();//WorkItem w1 = new WorkItem();

            w1.Tags.Add("LShapeItem04");
            w1.Material = stock;
            w1.Lengths.Add(new LengthItem {
                Length = 108
            });
            w1.Lengths.Add(new LengthItem {
                Length = 24
            });
            w1.Lengths.Add(new LengthItem {
                Length = 84
            });
            w1.Lengths.Add(new LengthItem {
                Length = 24
            });
            w1.Lengths.Add(new LengthItem {
                Length = 24
            });
            w1.Lengths.Add(new LengthItem {
                Length = 48
            });
            w1.MaxHeight = 108;
            w1.MaxWidth  = 48;

            RectItem w2 = new RectItem();

            w2.Tags.Add("RectItem00");
            w2.Material = stock;
            w2.Height   = 6;
            w2.Width    = 24;
            w2.Top      = 400;
            w2.Left     = 200;

            RectItem w3 = new RectItem();

            w3.Tags.Add("RectItem00");
            w3.Material = stock;
            w3.Height   = 6;
            w3.Width    = 24;
            //w3.Top = 100;
            //w3.Left = 200;


            WorkOrder wo = new WorkOrder();

            wo.Items.Add(w1);
            wo.Items.Add(w2);
            wo.Items.Add(w3);
            target.WorkOrders.Add(wo);

            return(target);
        }