예제 #1
0
        public override void UpdateIcbLineStructure(DuraformComponent component, ICBLineStructure line)
        {
            line.SPLIT_PANEL = 1;

            switch (line.TYPE)
            {
            case ICB_TYPE_ENUM.DOOR:
                line.TOOLING_FILE = line.TOOLING_FILE2 = component.DuraformEnquiry.DuraformDesign.ICB_GLASS_TOOLING;
                line.V_SPLIT_Q    = Columns - 1;
                line.H_SPLIT_Q    = Rows - 1;
                break;

            case ICB_TYPE_ENUM.PANTRY:
                throw new NotImplementedException();

            case ICB_TYPE_ENUM.END_PANEL:
                throw new NotImplementedException();

            case ICB_TYPE_ENUM.DRAWER:
                throw new NotImplementedException();

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
예제 #2
0
 public override void UpdateIcbLineStructure(DuraformComponent component, ICBLineStructure line)
 {
     switch (component)
     {
         case DuraformDoor door:
             line.TOOLING_FILE = line.TOOLING_FILE2 = ICBLineStructure.NO_FACE_TOOLING;
             break;
         default:
             throw new ArgumentOutOfRangeException();
     }
 }
예제 #3
0
        public override void UpdateIcbLineStructure(DuraformComponent component, ICBLineStructure line)
        {
            switch (component)
            {
            case DuraformDoor door:
                line.TOOLING_FILE = line.TOOLING_FILE2 = ICBLineStructure.MICROWAVE_TOOLING;
                line.BT           = (int)TopSize;
                line.BB           = (int)BottomSize;
                line.BL           = (int)LeftSize;
                line.BR           = (int)RightSize;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
예제 #4
0
        public override void UpdateIcbLineStructure(DuraformComponent component, ICBLineStructure line)
        {
            switch (component)
            {
            case DuraformDrawer drawer:
                throw new NotImplementedException();

            default:
                if (!HasProfile)
                {
                    line.TOOLING_FILE = line.TOOLING_FILE2 = ICBLineStructure.NO_FACE_TOOLING;
                }

                line.MATERIAL = $"RAW{line.DIMZ} MDF";
                break;
            }
        }
예제 #5
0
        public override void UpdateIcbLineStructure(DuraformComponent component, ICBLineStructure line)
        {
            switch (component)
            {
            case DuraformDoor _:
                line.TYPE = ICB_TYPE_ENUM.EXTERNAL_SHAPE;
                line.EXTERNAL_SHAPE_FILE = "ANGLED_SHELF";
                line.TOOLING_FILE        = line.TOOLING_FILE2 = ICBLineStructure.NO_FACE_TOOLING;
                line.USERVAR1            = (int)SideOne;
                line.USERVAR2            = (int)SideTwo;

                if (IsDoubleSided)
                {
                    line.MATERIAL = $"RAW{line.DIMZ} MDF";
                }
                break;

            default:
                throw new NotImplementedException("Not Support Other Types Of Components");
            }
        }
예제 #6
0
 public abstract void UpdateIcbLineStructure(DuraformComponent component, ICBLineStructure line);
예제 #7
0
        public ICBLineStructure(DuraformComponent component)
        {
            var design      = component.DuraformEnquiry.DuraformDesign;
            var edgeProfile = component.DuraformEdgeProfile;

            TYPE                = string.IsNullOrEmpty(design.ICB_EXTERNAL_SHAPE_FILE) ? component.ICBTYPE : ICB_TYPE_ENUM.EXTERNAL_SHAPE;
            SHAPE_FILE          = "SQUARE";
            EXTERNAL_SHAPE_FILE = design.ICB_EXTERNAL_SHAPE_FILE;
            DIMX                = (int)component.Height;
            DIMY                = (int)component.Width;
            DIMZ                = (int)component.DuraformEnquiry.DuraformDesign.Thickness;
            BT                  = component.DuraformEnquiry.DuraformDesign.BT;
            BB                  = component.DuraformEnquiry.DuraformDesign.BB;
            BL                  = component.DuraformEnquiry.DuraformDesign.BL;
            BR                  = component.DuraformEnquiry.DuraformDesign.BR;
            ABB                 = 0;
            AH                  = 0;
            EDGE_TOP            = component.Top ? 0 : 1;
            EDGE_BOTTOM         = component.Bottom ? 0 : 1;
            EDGE_LEFT           = component.Left ? 0 : 1;
            EDGE_RIGHT          = component.Right ? 0 : 1;
            CORNER_RADIUS       = CORNER_RADIUS_VALUE;
            TOOLING_FILE        = component.DuraformEnquiry.DuraformDesign.ICB_TOOLING;
            TOOLING_FILE2       = component.DuraformEnquiry.DuraformDesign.ICB_TOOLING;
            EDGE_TOOLING_FILE   = component.DuraformEdgeProfile.ICB_EDGE_TOOLING;
            DRAWER_TOOLING_FILE = DRAWER_TOOLING_FILE_VALUE;
            OFFT                = (int)(component.Height > 100 ? 0 : 100 - component.Height);
            OFFB                = 0;
            OFFL                = 0;
            OFFR                = (int)(component.Width > 100 ? 0 : 100 - component.Width);
            EDGETHICK           = component.DuraformEnquiry.IsRoutingOnly ? 0 : component.DuraformEnquiry.DuraformWrapType.ICB_EDGETHICK;
            USERVAR1            = edgeProfile.UserVar1 ?? 0;
            USERVAR2            = edgeProfile.UserVar2 ?? 0;
            USERVAR3            = edgeProfile.UserVar3 ?? 0;
            USERVAR4            = edgeProfile.UserVar4 ?? 0;
            USERVAR5            = edgeProfile.UserVar5 ?? 0;
            USERVAR6            = edgeProfile.UserVar6 ?? 0;
            USERVAR7            = edgeProfile.UserVar7 ?? 0;
            USERVAR8            = edgeProfile.UserVar8 ?? 0;
            BD_MATCHING         = 0;
            SHAPE_FILE2         = "SQUARE";
            BDH                 = 0;
            BDBT                = 0;
            BDH_ADDON           = 0;
            NOPN                = 0;
            PANDIV              = 0;
            VAR_DIV             = 0;
            VARDIVSTRING        = string.Empty;
            SPLIT_PANEL         = 0;
            V_SPLIT_Q           = 0;
            H_SPLIT_Q           = 0;
            V_SPLIT             = component.DuraformEnquiry.DuraformDesign.V_SPLIT_THICKNESS;
            H_SPLIT             = component.DuraformEnquiry.DuraformDesign.H_SPLIT_THICKNESS;
            SPLIT_PANEL_UPPER   = 0;
            V_SPLIT_Q_UPPER     = 0;
            H_SPLIT_Q_UPPER     = 0;
            V_SPLIT_UPPER       = 0;
            H_SPLIT_UPPER       = 0;
            SLICE_ON            = 0;
            DRAW_NUM            = 0;
            GAP                 = 0;
            DRAWER_NUM          = 0;
            DRAWER1             = 0;
            DRAWER2             = 0;
            DRAWER3             = 0;
            DRAWER4             = 0;
            DRAWER5             = 0;
            DRAWER6             = 0;
            DRAWER7             = 0;
            DRAWER8             = 0;
            SLICE_WIDTH         = 0;
            JOBNUMBER           = component.DuraformEnquiry.Id;
            ACCOUNTNUMBER       = component.DuraformEnquiry.Customer.Name.Replace(",", "_").Replace(" ", "_").ToUpper();
            JOBNUMBERCUST       = component.DuraformEnquiry.CustomerReference;
            DOORFINISH          = component.DuraformEnquiry.IsRoutingOnly ? ROUTER_ONLY : component.DuraformEnquiry.DuraformWrapType.Name.ToUpper();
            DOORCOLOR           = component.DuraformEnquiry.IsRoutingOnly ? DSW : $"{component.DuraformEnquiry.DuraformWrapColor.Name.ToUpper()} {component.DuraformEnquiry.DuraformWrapType.Name.ToUpper()}";
            CNCCODE             = "DOOR";
            MATERIAL            = component.DuraformEnquiry.IsRoutingOnly ? $"{DSW}{DIMZ} MDF" : $"SS{DIMZ} MDF";
            CNCTYPE             = "DOOR";
            QUANTITY            = component.Quantity;
            DESCRIPTION         = component.Note.ToUpper();
        }