Пример #1
0
        public static DesignBody CreateCircle(Frame frame, double diameter, IPart part)
        {
            Plane plane = Plane.Create(frame);

            List<ITrimmedCurve> profile = new List<ITrimmedCurve>();
            Circle circle = Circle.Create(frame, diameter / 2);
            profile.Add(CurveSegment.Create(circle));

            Body body = null;
            try {
                body = Body.CreatePlanarBody(plane, profile);
            }
            catch {
                Debug.Assert(false, "Exception thrown creating body");
            }

            if (body == null) {
                Debug.Fail("Profile was not connected, not closed, or not in order.");
                return null;
            }

            if (part == null)
                part = Window.ActiveWindow.ActiveContext.ActivePart;

            DesignBody desBodyMaster = DesignBody.Create(part.Master, "Circle", body);
            desBodyMaster.Transform(part.TransformToMaster);
            return desBodyMaster;
        }
Пример #2
0
 public void RemoveQueryPart(IPart part)
 {
     for(int i=0,size=parts.Length;i<size;i++){
         if(parts[i].Equals(part)){
             parts[i] = null;
         }
     }
 }
Пример #3
0
        public static DesignBody CreateCable(ITrimmedCurve iTrimmedCurve, double diameter, IPart part)
        {
            Body body = CreateCable(iTrimmedCurve, diameter);

            if (part == null)
                part = Window.ActiveWindow.ActiveContext.ActivePart;

            DesignBody desBodyMaster = DesignBody.Create(part.Master, "Sweep", body);
            desBodyMaster.Transform(part.TransformToMaster);
            return desBodyMaster;
        }
Пример #4
0
        public EntityPartPresenter(IPart part, IEntityPartView partView)
        {
            _part = part;
            _partView = partView;
            _fieldViews= new ObservableCollection<IFieldView>();
            part.Fields.Run(x => _fieldViews.Add(x.BuildFieldView()));

            _sendCommand = new DelegateCommand<object>(x => { _partView.SwitchToViewMode();
                                                                InEditingMode = false; }, x => InEditingMode);
            _cancelCommand = new DelegateCommand<object>(x => { _partView.SwitchToViewMode();
                                                                  InEditingMode = false; }, x => InEditingMode);
        }
Пример #5
0
        public void StartWork()
        {
            TeamLeader leader = (TeamLeader)Workers.FirstOrDefault(f => f.IsTeam == true);

            for (int i = 0; i < ListWork.Count; i++)
            {
                Worker w = leader[leader.GetWorkerID()];
                IPart  p = GetWork();
                if (p != null)
                {
                    ListWork.IndexOf(p);
                }
            }
        }
Пример #6
0
        public void AddAlreadyExistingPartThrowsInvalidOperationException(
            string deviceTypeString,
            string deviceMake,
            string partTypeString)
        {
            Type        deviceType     = this.partAssembly.GetTypes().First(x => x.Name == deviceTypeString);
            IRepairable deviceInstance = (IRepairable)Activator.CreateInstance(deviceType, deviceMake);
            Type        partType       = this.partAssembly.GetTypes().First(x => x.Name == partTypeString);
            IPart       part           = (IPart)Activator.CreateInstance(partType, "processor", 350.97m, false);

            deviceInstance.AddPart(part);

            Assert.Throws <InvalidOperationException>(() => deviceInstance.AddPart(part));
        }
Пример #7
0
 public bool AddCollider(IPart part, IPart other)
 {
     if (!mAllowOverlapRecords.TryGetValue(part, out var set))
     {
         set = new HashSet <IPart>();
         mAllowOverlapRecords.Add(part, set);
     }
     if (set.Add(other))
     {
         DebugUtility.Log(LoggerTags.Project, "Add Collider : {0}, {1}, Frame ({2})", ((Part)part).GetComponentInfo(), ((Part)other).GetComponentInfo(), Time.frameCount);
         return(true);
     }
     return(false);
 }
            public void InitToGetTheNearestPointInPart(IPart part, int AncestorLevelSequence, IM2MStructure M2MS, IPosition point)
            {
                this.AncestorLevelSequence = AncestorLevelSequence;
                this.M2MS = M2MS;

                currentPart           = part;
                comparePoint          = point;
                nearestDistanceSquare = float.MaxValue;

                upperBound = float.MaxValue;
                lowerBound = 0;
                leftBound  = 0;
                rightBound = float.MaxValue;
            }
Пример #9
0
        public Command(IPart id, IPart hostID, IPart target, IPart order, IPart data, Timestamp timestamp)
        {
            _executeValidation = Validate;
            ID         = id;
            HostID     = hostID;
            Target     = target;
            Order      = order;
            Data       = data;
            Timestamp  = timestamp;
            ErrorState = ErrorState.Unchecked();

            SetUpStateToValidationMap();
            SetupPartCollection(ID, HostID, Target, Order, Data);
        }
Пример #10
0
            private IPart[] GetAttachedPart(IPart part)
            {
                List <IPart> parts = new List <IPart>();

                foreach (IPort p in part.Ports)
                {
                    if (p.AttachedPort != null)
                    {
                        parts.Add(p.AttachedPort.Part);
                    }
                }

                return(parts.ToArray());
            }
Пример #11
0
        public override bool FireEvent(Event E)
        {
            if (E.ID == "ObjectCreated")
            {
                if (bCreated)
                {
                    return(true);
                }
                bCreated = true;

                string Title = LegendaryDogsDogBuilder.Titles.GetRandomElement();
                if (Title == "Good")
                {
                    Title        = LegendaryDogsDogBuilder.BuildGoodTitle();
                    VeryGoodText = Title.ToLower();
                }
                ParentObject.DisplayName = LegendaryDogsDogBuilder.BuildName(ParentObject.DisplayName, Title);
                AddModifiers();
            }
            else if (E.ID == "BeforeDeathRemoval" && this.GoodFactionPenalty > 0)
            {
                GameObject gameObjectParameter = E.GetGameObjectParameter("Killer");
                if (gameObjectParameter != null && (gameObjectParameter.IsPlayer() || gameObjectParameter.IsPlayerLed()))
                {
                    Popup.Show("You murdered a " + VeryGoodText + " dog.  You are cursed.");
                }
            }
            else if (E.ID == "AfterLookedAt" && ParentObject.DisplayName.Contains("Loveable"))
            {
                GameObject Looker = E.GetGameObjectParameter("Looker");
                if (Looker == null)
                {
                    Looker = XRLCore.Core.Game.Player.Body;
                }
                if (!Looker.HasEffect("Lovesick"))
                {
                    if (Looker.IsPlayer())
                    {
                        Popup.Show("You feel your heart beating in your chest after seeing how loveable " + ParentObject.DisplayNameOnly + " is.");
                    }
                    else
                    {
                        IPart.AddPlayerMessage(Looker.The + Looker.DisplayNameOnly + Looker.Is + " visibly struck by how loveable " + ParentObject.DisplayNameOnly + " is.");
                    }

                    Looker.ApplyEffect(new Lovesick(100, ParentObject));
                }
            }
            return(base.FireEvent(E));
        }
Пример #12
0
        public bool GasCheck()
        {
            if (!Ability.ToggleState)
            {
                return(false);
            }
            if (!IsReady(UseCharge: true))
            {
                IPart.AddPlayerMessage(ParentObject.The + ParentObject.DisplayNameOnly + " sputters and stalls.");

                Ability.ToggleState = false;
            }
            return(Ability.ToggleState);
        }
Пример #13
0
        public static int CalculateTime(Worker[] workers, IPart part)
        {
            if (workers.Length == 0)
            {
                throw new Exception("Количество рабочих равняется нулю!");
            }
            int TimeForConstruction = part.GetTimeForConstruction - workers.Length + 1;

            if (TimeForConstruction < 1)
            {
                TimeForConstruction = 1;
            }
            return(TimeForConstruction);
        }
Пример #14
0
        static void Main(string[] args)
        {
            List <IPart> all        = new List <IPart>();
            IWorker      allWorkers = new Team();
            IPart        basement   = null;
            IPart        walls      = null;
            IPart        walls2     = null;
            IPart        house      = null;
            IPart        door       = null;
            IPart        roof       = null;

            while (!all.Contains(house))
            {
                if (!all.Contains(basement))
                {
                    basement = new Basement();
                    all.Add(basement);
                }
                if (!all.Contains(walls))
                {
                    walls = new Walls();
                    all.Add(walls);
                }
                if (!all.Contains(walls2))
                {
                    walls2 = new Walls();
                    all.Add(walls2);
                }
                if (!all.Contains(door))
                {
                    door = new Door();
                    all.Add(door);
                }
                if (!all.Contains(roof))
                {
                    roof = new Roof();
                    all.Add(roof);
                }
                else
                {
                    house = new House();
                    all.Add(house);
                }
            }
            foreach (var item in all.Reverse <IPart>())
            {
                Console.WriteLine(item.Create());
            }
            Console.ReadLine();
        }
Пример #15
0
        public IPart CreatePart(string partType, string model, double weight,
                                decimal price, int additionalParameter)
        {
            Type type = Assembly
                        .GetCallingAssembly()
                        .GetTypes()
                        .First(t => t.Name.Contains(partType));

            Object[] args = { model, weight, price, additionalParameter };

            IPart part = (IPart)Activator.CreateInstance(type, args);

            return(part);
        }
Пример #16
0
        public void Seed_OptionsNoText_Null()
        {
            TiledTextLayerPartSeeder seeder = new TiledTextLayerPartSeeder();

            seeder.SetSeedOptions(_seedOptions);
            seeder.Configure(new TiledTextLayerPartSeederOptions
            {
                MaxFragmentCount = 3
            });

            IPart part = seeder.GetPart(_item, "fr.net.fusisoft.comment", _factory);

            Assert.Null(part);
        }
Пример #17
0
        public void OnPartSeparation(IPart other)
        {
            var robot = this.robot;

            if (robot == null)
            {
                return;
            }

            if (this.isKinematicReady)
            {
                robot.physicsSystem.RemoveMotionCollider(this, other);
            }
        }
Пример #18
0
        public void Seed_InvalidOptions_Null()
        {
            TiledTextLayerPartSeeder seeder = new TiledTextLayerPartSeeder();

            seeder.SetSeedOptions(_seedOptions);
            seeder.Configure(new TiledTextLayerPartSeederOptions
            {
                MaxFragmentCount = 0
            });

            IPart part = seeder.GetPart(_item, null, _factory);

            Assert.Null(part);
        }
Пример #19
0
        public Form_MainIPart(FileInfo _fileInfo, IPart _iPart)
            : base(_fileInfo, _iPart)
        {
            InitializeComponent();


            if (LicenseManager.UsageMode == LicenseUsageMode.Runtime)
            {
                if (!this.iPartViewer1.MergeMenuStripWith(base.MenuStrip1))
                {
                    throw new Exception();
                }
            }
        }
        public IPart Parse(byte[] source, string attachmentDirectory)
        {
            IPart part = null;

            if (this.IsValidMultipart(source))
            {
                return(this.ParseMultipart(source, attachmentDirectory));
            }
            if (this.IsValidSimplePart(source))
            {
                part = this.ParseSimplePart(source, attachmentDirectory);
            }
            return(part);
        }
        public List <IDesignBody> GatherAllVisibleBodies(IPart part, Window window)
        {
            List <IDesignBody> allBodies = new List <IDesignBody>();
            var tempList = new List <IDesignBody>();

            tempList.AddRange(part.GetDescendants <IDesignBody>());
            foreach (IDesignBody body in tempList)
            {
                if (CheckIfVisible(body, window))
                {
                    allBodies.Add(body);
                }
            }
            return(allBodies);
        }
Пример #22
0
        public IPart CreatePart(string partType, string model, double weight, decimal price, int additionalParameter)
        {
            Type type = Assembly.GetCallingAssembly()
                        .GetTypes()
                        .FirstOrDefault(t => t.Name == partType + PartNameSuffix);

            if (type == null)
            {
                throw new ArgumentNullException("This Part type does not exist!");
            }

            IPart part = (IPart)Activator.CreateInstance(type, model, weight, price, additionalParameter);

            return(part);
        }
Пример #23
0
        public IPart CreatePart(string partType, string model, double weight, decimal price, int additionalParameter)
        {
            Type type = Assembly.GetCallingAssembly()
                        .GetTypes()
                        .FirstOrDefault(t => t.Name == partType + PartNameSuffix);


            var constructorInfo = type.GetConstructors();



            IPart part = (IPart)Activator.CreateInstance(type, model, weight, price, additionalParameter);

            return(part);
        }
        public IPositionSet ApproximateSearchKNearestNeighbor(IPosition targetPoint, int k)
        {
            KNearestPointSList = new SortedList <float, IPosition>();

            KNearestPointSList.Capacity = k;

            IPart targetPart = null;
            int   targetPartLevelSequence = SearchTheTargetPart(targetPoint, ref targetPart);

            GetOnePointAndDetermineNearestPointIsChanged = SearchKNearestPointInComparedPointSet;

            DiffuseFromOriginByPartInSpecialLevel(targetPoint, targetPartLevelSequence);

            return(new PositionSetEdit_ImplementByICollectionTemplate(KNearestPointSList.Values));
        }
Пример #25
0
        public static DesignBody CreateBlock(Point point1, Point point2, IPart part)
        {
            List <Point> points = new List <Point>();

            points.Add(point1);
            points.Add(Point.Create(point2.X, point1.Y, point1.Z));
            points.Add(Point.Create(point2.X, point2.Y, point1.Z));
            points.Add(Point.Create(point1.X, point2.Y, point1.Z));

            return(CreatePolygon(
                       points,
                       Plane.Create(Frame.Create(point1, Direction.DirX, Direction.DirY)),
                       point2.Z - point1.Z,
                       part));
        }
Пример #26
0
 public void Register(IPart part)
 {
     if (part is IConsumer)
     {
         _consumers.Add((IConsumer)part);
     }
     if (part is IGenerator)
     {
         _generators.Add((IGenerator)part);
     }
     if (part is IStorer)
     {
         _storers.Add((IStorer)part);
     }
 }
Пример #27
0
        public static IKsJackDescription KsJackDescription(this IPart part)
        {
            var attribute = typeof(IKsJackDescription).GetCustomAttributes(typeof(GuidAttribute), true).Cast <GuidAttribute>().FirstOrDefault();

            if (attribute == null)
            {
                return(null);
            }

            var iidKsJackDescription = new Guid(attribute.Value);

            part.Activate((uint)CLSCTX.CLSCTX_INPROC_SERVER, ref iidKsJackDescription, out var instancePtr);

            return(instancePtr as IKsJackDescription);
        }
Пример #28
0
 void Decompress(IPart part)
 {
     using (MemoryStream sourceStream = new MemoryStream(part.OriginalData))
     {
         using (MemoryStream resultStream = new MemoryStream())
         {
             using (Stream gZipStream = new GZipStream(sourceStream, CompressionMode.Decompress))
             {
                 gZipStream.CopyTo(resultStream, part.Count);
             }
             part.ResultData = resultStream.ToArray();
         }
     }
     _manager.WritePartOfFile(part);
 }
        private void OnGetQueryPart(ILevel level, int levelSequence, IPart part)
        {
            lock (layers)
            {
                PositionSetEdit_ImplementByICollectionTemplate partSet = new PositionSetEdit_ImplementByICollectionTemplate();
                partSet.AddPosition(part);
                Layer_M2MPartSetInSpecificLevel layer = new Layer_M2MPartSetInSpecificLevel(level, partSet);
                layer.MainColor = Color.FromArgb(255, 0, 0);
                layer.Active    = true;
                layers.Add(layer);
            }

            flowControlerForm.BeginInvoke(Update);
            flowControlerForm.SuspendAndRecordWorkerThread();
        }
Пример #30
0
        public static DesignBody CreateBlock(Point point1, Point point2, IPart part)
        {
            List<Point> points = new List<Point>();

            points.Add(point1);
            points.Add(Point.Create(point2.X, point1.Y, point1.Z));
            points.Add(Point.Create(point2.X, point2.Y, point1.Z));
            points.Add(Point.Create(point1.X, point2.Y, point1.Z));

            return CreatePolygon(
                points,
                Plane.Create(Frame.Create(point1, Direction.DirX, Direction.DirY)),
                point2.Z - point1.Z,
                part);
        }
Пример #31
0
        public void Work(House obj)
        {
            IPart workSection = FindWhatToDo(obj);

            if (workSection == null)
            {
                obj.houseIsBuilt = true;
                Console.WriteLine("Не нужен");
            }
            else
            {
                DoYourWork(workSection);
                Console.WriteLine("Работает весь день");
            }
        }
Пример #32
0
        public void PartConstructorWorksCorrectlyWithTwoParameters(
            string partTypeString,
            string partName,
            decimal partCost)
        {
            Type partType = this.partAssembly.GetTypes().First(x => x.Name == partTypeString);

            IPart partInstance = (IPart)Activator.CreateInstance(partType, partName, partCost);

            this.GetMultiplier(partType, partInstance);

            Assert.AreEqual(partName, partInstance.Name);
            Assert.AreEqual(partCost * this.partCostMultiplier, partInstance.Cost);
            Assert.AreEqual(false, partInstance.IsBroken);
        }
Пример #33
0
        protected BevelGear(IPart parent, GearData gearData, GearData conjugateGearData, ToothProfile toothProfile, double helicalAngle, double bevelAngle, double bevelKneeRatio, double depth)
            : base(parent, gearData, conjugateGearData, toothProfile, helicalAngle, depth)
        {
            BevelAngle     = bevelAngle;
            BevelKneeRatio = bevelKneeRatio;

            StartPoint    = Point.Create(0, 0, XOffset);
            EndPoint      = StartPoint - Vector.Create(0, 0, Depth * Math.Cos(Alpha));
            StartFrame    = Frame.Create(StartPoint, Direction.DirX, -Direction.DirY);
            EndFrame      = Frame.Create(EndPoint, Direction.DirX, -Direction.DirY);
            StartDiameter = GearData.PitchDiameter;
            EndDiameter   = StartDiameter - 2 * Depth * Math.Sin(Alpha);
            StartCone     = Cone.Create(StartFrame, StartDiameter / 2, Math.PI / 2 - Alpha);
            EndCone       = Cone.Create(EndFrame, EndDiameter / 2, Math.PI / 2 - Alpha);
        }
        public IPart CreatePart(string partType, string model, double weight, decimal price, int additionalParameter)
        {
            partType += "Part";
            Assembly assembly = Assembly.GetCallingAssembly();
            Type     type     = assembly.GetTypes().FirstOrDefault(t => t.Name == partType);

            if (type == null)
            {
                throw new InvalidOperationException("Invalid part type!");
            }

            IPart part = (IPart)Activator.CreateInstance(type, model, weight, price, additionalParameter);

            return(part);
        }
Пример #35
0
        protected BevelGear(IPart parent, GearData gearData, GearData conjugateGearData, ToothProfile toothProfile, double helicalAngle, double bevelAngle, double bevelKneeRatio, double depth)
            : base(parent, gearData, conjugateGearData, toothProfile, helicalAngle, depth)
        {
            BevelAngle = bevelAngle;
            BevelKneeRatio = bevelKneeRatio;

            StartPoint = Point.Create(0, 0, XOffset);
            EndPoint = StartPoint - Vector.Create(0, 0, Depth * Math.Cos(Alpha));
            StartFrame = Frame.Create(StartPoint, Direction.DirX, -Direction.DirY);
            EndFrame = Frame.Create(EndPoint, Direction.DirX, -Direction.DirY);
            StartDiameter = GearData.PitchDiameter;
            EndDiameter = StartDiameter - 2 * Depth * Math.Sin(Alpha);
            StartCone = Cone.Create(StartFrame, StartDiameter / 2, Math.PI / 2 - Alpha);
            EndCone = Cone.Create(EndFrame, EndDiameter / 2, Math.PI / 2 - Alpha);
        }
Пример #36
0
        public void PlaySong(GameObject player)
        {
            acegiak_Song song = ChooseSong(player);

            List <UnityEngine.GameObject> GOs = new List <UnityEngine.GameObject>();

            foreach (string voice in SoundName.Split(';'))
            {
                string[] bits = voice.Split(':');

                UnityEngine.GameObject gameObject;
                gameObject = new UnityEngine.GameObject();
                gameObject.transform.position = new Vector3(0f, 0f, 1f);
                gameObject.name = "MusicPlayer";
                gameObject.AddComponent <acegiak_AudioSequencer>();
                UnityEngine.Object.DontDestroyOnLoad(gameObject);

                acegiak_AudioSequencer component = gameObject.GetComponent <acegiak_AudioSequencer>();

                if (bits.Length > 1)
                {
                    component.Read(bits[0], song.Notes, bits[1]);
                }
                else
                {
                    component.Read(bits[0], song.Notes, String.Empty);
                }
                GOs.Add(gameObject);
            }
            foreach (UnityEngine.GameObject GO in GOs)
            {
                GO.GetComponent <acegiak_AudioSequencer>().Play();
            }
            IPart.AddPlayerMessage((player.IsPlayer()?"You play":player.The + player.DisplayNameOnly + player.GetVerb("play")) + " " + song.Name + " on " + ParentObject.the + ParentObject.DisplayNameOnly);
            if (song.Effect != null)
            {
                //IPart.AddPlayerMessage("Effect:"+song.Effect);
                try{
                    Effect effect = Activator.CreateInstance(Type.GetType(song.Effect)) as Effect;
                    //effect.Duration = Stat.Rnd2.Next(100);
                    //IPart.AddPlayerMessage("Effect:"+effect.DisplayName);
                    player.ApplyEffect(effect);
                }catch (Exception E) {
                    Debug.Log("CAVES OF CHORDS COULD NOT LOAD PLAYER EFFECT: " + song.Effect);
                }
            }
            player.FireEvent(Event.New("PlayedSong", "Object", ParentObject));
        }
Пример #37
0
 public PartDialogWindow(IPart part)
 {
     this.InitializeComponent();
     this.wiringDiagram.Wiring = part.Wiring;
     this.wiringDiagram.Refresh();
     this.textBlock_Name.Text = part.Name;
     if (part.Notches == null)
     {
         this.textBlock_Notch.Text = "--";
     }
     else
     {
         this.textBlock_Notch.Text = "";
         foreach (int notch in part.Notches)
         {
             this.textBlock_Notch.Text += Util.IntToChar(notch);
         }
     }
 }
Пример #38
0
        /// <summary>
        /// GetValue
        /// </summary>
        /// <param name="session"></param>
        /// <param name="product"></param>
        /// <param name="mb"></param>
        /// <param name="delivery"></param>
        /// <param name="part"></param>
        /// <param name="testLog"></param>
        /// <param name="name"></param>
        /// <param name="spliter"></param>
        /// <returns></returns>
        public static string GetValue(Session session, IProduct product, IMB mb, Delivery delivery, IPart part,
                                                    TestLog testLog, string name, char spliter)
        {
            string ret = null;
            int index = name.IndexOf(spliter);
            if (index < 1)
            {
                throw new Exception("wrong method name : " + name);
            }

            string objName = name.Substring(0, index);
            string objMethod = name.Substring(index + 1).Trim();

            if (resolveTestLog(testLog, objName, objMethod, true, out ret))
            {
                return ret;
            }

            return getValueInner(session, product, mb, delivery, part, name, spliter, true); 
        }
 public override void AfterInit(IPart part, EventArgs e)
 {
     this.CostAccountantPart = part;
     IUFCard card = (IUFCard)part.GetUFControlByName(part.TopLevelContainer, "Card0");
     IUFButton btnNavS = new UFWebButtonAdapter();
     btnNavS.Text = ("自动分配");
     btnNavS.ID = ("btnNavS");
     btnNavS.AutoPostBack = (true);
     this.btnRefresh.Text = ("刷新");
     this.btnRefresh.ID = ("btnRefresh");
     this.btnRefresh.AutoPostBack = (true);
     this.btnRefresh.Visible = (false);
     card.Controls.Add(btnNavS);
     card.Controls.Add(this.btnRefresh);
     UIPlugHelper.Layout(card, btnNavS, 2, 0);
     btnNavS.Click += (new EventHandler(this.btnNavS_Click));
     this.btnRefresh.Click += new EventHandler(this.btnRefresh_Click);
     IUFCard carddataGrid = (IUFCard)part.GetUFControlByName(part.TopLevelContainer, "Card4");
     IUFDataGrid dataGrid = (IUFDataGrid)part.GetUFControlByName(carddataGrid, "DataGrid5");
     dataGrid.Columns[7].Point = 4;
 }
        public override void AfterInit(IPart Part, EventArgs e)
        {
            part = Part;
            _strongPart = Part as UFIDA.U9.SPR.SalePriceListBListUI.SalePriceListBListUIFormWebPart;

            // Card0
            // 3
            IUFCard card0 = (IUFCard)part.GetUFControlByName(part.TopLevelContainer, "Card0");
            if (card0 != null)
            {
                IUFButton btn2DMS = new UFWebButtonAdapter();
                btn2DMS.Text = "下发DMS";
                btn2DMS.ID = "btn2DMS";
                btn2DMS.AutoPostBack = true;
                btn2DMS.Click += new EventHandler(btn2DMS_Click);

                card0.Controls.Add(btn2DMS);
                HBHCommon.HBHCommonUI.UICommonHelper.Layout(card0, btn2DMS, 8, 0);

                // 确认对话框
                UFIDA.U9.UI.PDHelper.PDFormMessage.ShowDelConfirmDialog(_strongPart.Page, "确认同步DMS?", "确认同步DMS", btn2DMS);
            }
        }
Пример #41
0
 private string GetVenderCodeValue(IPart part)
 {
     IList<PartInfo> part_infos = part.Attributes;
     if (part_infos != null)
     {
         foreach (PartInfo part_info in part_infos)
         {
             if (part_info.InfoType.Equals("VendorCode"))
             {
                 return part_info.InfoValue;
             }
         }
     }
     return "";
 }
Пример #42
0
 private void checkBindToAnotherProductForMB(IProduct thisProduct, IPart newPart)
 {
     IProductRepository ipr = RepositoryFactory.GetInstance().GetRepository<IProductRepository, IProduct>();
     IBOMPart bomPart = (IBOMPart)newPart;
     /*
     IList<IProduct> lstProduct = ipr.GetProductListByPCBID(bomPart.MatchedSn);
     
     if (lstProduct != null)
     {
         foreach (var product in lstProduct)
         {
             if (product.ProId != thisProduct.ProId)
             {
                 List<string> erpara = new List<string>();
                 erpara.Add("SN");
                 erpara.Add(bomPart.MatchedSn);
                 erpara.Add(product.ProId);
                 var ex = new FisException("CHK009", erpara);
                 ex.stopWF = false;
                 throw ex;
             }
         }
     }*/
 }
Пример #43
0
        private bool CheckBomNodeType(IPart part, IList<CheckItemTypeRuleDef> lstChkItemRule)
        {

            if (lstChkItemRule == null || lstChkItemRule.Count == 0)
            { return false; }

            //   Regex Regex1 = new Regex(pattern);
            string pattern;
            foreach (CheckItemTypeRuleDef chk in lstChkItemRule)
            {
                pattern = chk.BomNodeType;
                if (part.BOMNodeType == chk.BomNodeType || Regex.IsMatch(part.BOMNodeType,pattern))
                { return true; }
            }
            return false;
        }
Пример #44
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="session"></param>
        /// <param name="product"></param>
        /// <param name="mb"></param>
        /// <param name="delivery"></param>
        /// <param name="part"></param>
        /// <param name="name"></param>
        /// <param name="spliter"></param>
        /// <returns></returns>
        public static string GetValue(Session session, 
                                                    IProduct product, 
                                                    IMB mb, 
                                                    Delivery delivery, 
                                                    IPart part,
                                                    string name, char spliter)
        {
            int index = name.IndexOf(spliter);
            if (index < 1)
            {
                throw new Exception("wrong method name : " + name);
            }

            string objName = name.Substring(0, index).ToUpper();
            string objMethod = name.Substring(index + 1).Trim();

            if (objName == "PRODUCTINFO")
            {
                if (product == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "ProductInfo" });
                }
                return product.ProductInfoes
                                            .Where(x => x.InfoType == objMethod)
                                            .Select(y => y.InfoValue).FirstOrDefault();
            }

            if (objName == "MODELINFO")
            {
                if (product == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Product" });
                }
                return product.ModelObj.Attributes
                                            .Where(x => x.Name == objMethod)
                                            .Select(y => y.Value).FirstOrDefault();
            }

            if (objName == "FAMILYINFO")
            {
                if (product == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Product" });
                }
                string family = product.Family;
               
                IList<FamilyInfoDef> familyInfoList = familyRep.GetExistFamilyInfo(new FamilyInfoDef { family = family, name = objMethod });

                if (familyInfoList == null || familyInfoList.Count == 0)
                {
                    throw new FisException("CHK1036", new List<string> { family, objMethod });
                }

                return familyInfoList[0].value;
            }

            if (objName == "PRODUCT")
            {
                if (product == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Product" });
                }
                string value = (string)product.GetProperty(objMethod);
                if (string.IsNullOrEmpty(value))
                {
                    throw new FisException("not exists property name:" + name);
                }
                return value;
            }

            if (objName == "PCB")
            {
                if (mb == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "PCB" });
                }
                string value = (string)mb.GetProperty(objMethod);
                if (string.IsNullOrEmpty(value))
                {
                    throw new FisException("not exists property name:" + name);
                }
                return value;
            }

            if (objName == "PCBINFO")
            {
                if (mb == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "PCB" });
                }

                return mb.MBInfos
                               .Where(x => x.InfoType == objMethod)
                               .Select(y => y.InfoValue).FirstOrDefault();
            }

            if (objName == "DELIVERY")
            {
                if (delivery == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Delivery" });
                }
                string value = (string)delivery.GetProperty(objMethod);
                if (string.IsNullOrEmpty(value))
                {
                    throw new FisException("not exists property name:" + name);
                }
                return value;
            }

            if (objName == "DELIVERYINFO")
            {
                if (delivery == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Delivery" });
                }
                return delivery.DeliveryInfoes
                              .Where(x => x.InfoType == objMethod)
                              .Select(y => y.InfoValue).FirstOrDefault();
            }


            if (objName == "PART")
            {
                if (part == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Part" });
                }
                string value = (string)part.GetProperty(objMethod);
                if (string.IsNullOrEmpty(value))
                {
                    throw new FisException("not exists property name:" + name);
                }
                return value;
            }

            if (objName == "PARTINFO")
            {
                if (part == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Part" });
                }
                return part.Attributes
                             .Where(x => x.InfoType == objMethod)
                             .Select(y => y.InfoValue).FirstOrDefault();
            }

            throw new Exception("not support resolve name:" + name);
        }
Пример #45
0
        protected HypoidGear(IPart parent, GearData gearData, GearData conjugateGearData, ToothProfile toothProfile, double helicalAngle, double hypoidAngle, double hypoidOffset, double hypoidKneeRatio, double depth)
            : base(parent, gearData, conjugateGearData, toothProfile, helicalAngle, depth)
        {
            HypoidAngle = hypoidAngle;
            HypoidOffset = hypoidOffset;
            HypoidKneeRatio = hypoidKneeRatio;

            TangentLine = Line.Create(Point.Origin, Direction.DirZ).CreateTransformedCopy(TransformToTangent.Inverse);

            Debug.Assert(Accuracy.LengthIsZero(TangentLine.Origin.Y));
            A = TangentLine.Origin.Vector.Magnitude;
            Point pointA = Point.Create(A, 0, 0);

            Point p0 = TangentLine.Origin;
            Point p1 = TangentLine.Evaluate(1).Point;
            p0 = Plane.PlaneYZ.ProjectPoint(p0).Point;
            p1 = Plane.PlaneYZ.ProjectPoint(p1).Point;
            B = A * (p1.Z - p0.Z) / (p1.Y - p0.Y);

            Depth = TangentLine.Evaluate(Depth).Point.Z;
            HypoidOffset = TangentLine.Evaluate(HypoidOffset).Point.Z;

            StartZ = HypoidOffset;
            EndZ = HypoidOffset + Depth;
            StartPoint = Point.Create(0, 0, StartZ);
            EndPoint = Point.Create(0, 0, EndZ);
            StartFrame = Frame.Create(StartPoint, Direction.DirX, -Direction.DirY);
            EndFrame = Frame.Create(EndPoint, Direction.DirX, -Direction.DirY);
            StartDiameter = GetHyperbolicRadius(StartZ) * 2;
            EndDiameter = GetHyperbolicRadius(EndZ) * 2;
            StartCone = GetConeAtParameter(StartZ);
            EndCone = GetConeAtParameter(EndZ);

            StartPlane = Plane.Create(StartFrame);
            EndPlane = Plane.Create(EndFrame);
        }
Пример #46
0
 public static Gear Create(IPart parent, GearData gearData, GearData conjugateGearData, ToothProfile toothProfile, double helicalAngle, double screwAngle, double depth)
 {
     Gear gear = new StraightGear(parent, gearData, conjugateGearData, toothProfile, helicalAngle, screwAngle, depth);
     BuildGear(gear);
     return gear;
 }
Пример #47
0
 public static Gear Create(IPart parent, GearData gearData, GearData conjugateGearData, ToothProfile toothProfile, double helicalAngle, double hypoidAngle, double hypoidOffset, double hypoidKneeRatio, double depth)
 {
     Gear gear = new HypoidGear(parent, gearData, conjugateGearData, toothProfile, helicalAngle, hypoidAngle, hypoidOffset, hypoidKneeRatio, depth);
     BuildGear(gear);
     return gear;
 }
Пример #48
0
        /// <summary>
        /// constructure
        /// </summary>
        /// <param name="session">session object</param>       
        /// <param name="modelName"> model name</param>
        /// <param name="moNo">MO Id</param>
        /// <param name="dnNo">Delivery No</param>
        /// <param name="partNo">Part No</param>
        /// <param name="customer">Customer</param>
        public PrintUtility(Session session, 
                                  string modelName, string moNo,
                                  string dnNo, string partNo, 
                                  string customer)
        {
            _session = session;
            _product =session.GetValue(Session.SessionKeys.Product) as Product;
            _mb = session.GetValue(Session.SessionKeys.MB) as MB;

            if (_product != null)
            {
                _customer = _product.Customer;
                if (string.IsNullOrEmpty(modelName) ||
                   modelName == _product.Model)
                {
                    modelName = _product.Model;
                    _model = _product.ModelObj;
                }               

                if (string.IsNullOrEmpty(moNo))
                {
                    moNo = _product.MO;
                }

                if (string.IsNullOrEmpty(dnNo))
                {
                    dnNo = _product.DeliveryNo;
                }

                //if (!string.IsNullOrEmpty(dnNo))
                //    _delivery = dnRep.Find(dnNo);
            }
            else if (_mb != null)
            {
                _customer = _mb.Customer;
                if (string.IsNullOrEmpty(modelName) &&
                    !string.IsNullOrEmpty(_mb.MB1397))
                {
                    modelName = _mb.MB1397;
                    _model = _mb.Model1397Obj;
                }

                if (string.IsNullOrEmpty(moNo))
                {
                    moNo = _mb.SMTMO;
                }
               

                if (string.IsNullOrEmpty(dnNo))
                {
                    dnNo = _mb.DeliveryNo;
                }

                //if (!string.IsNullOrEmpty(dnNo))
                //    _delivery = dnRep.Find(dnNo);

                if (string.IsNullOrEmpty(partNo))
                {
                    partNo = _mb.Model;
                }
            }

            _moNo = moNo;
            _modelName= modelName;
            _dnNo = dnNo;
            _partNo = partNo;

            if(string.IsNullOrEmpty(_customer))
            {
                _customer = customer;
            }            

            if(!string.IsNullOrEmpty(partNo))
            {
                _part =partRep.Find(partNo);
            }

            if (_model == null && !string.IsNullOrEmpty(_modelName))
            {
               _model= modelRep.Find(_modelName);
            }

            if (_delivery == null && !string.IsNullOrEmpty(_dnNo))
            {
                _delivery = dnRep.Find(_dnNo);
            }

        }
Пример #49
0
 private bool checkPart(IPart part, string name, string value)
 {
     bool ret = false;
     switch (name.ToUpper())
     {
         case "PARTNO":
              ret = Regex.IsMatch(part.PN, value);
             break;
         case "DESCR":
             ret = Regex.IsMatch(part.Descr, value);
             break;
         case "BOMNODETYPE":
             ret = Regex.IsMatch(part.BOMNodeType, value);
             break;
         case "PARTTYPE":
             ret = Regex.IsMatch(part.Type, value);
             break;
         case "CUSTPARTNO":
             ret = Regex.IsMatch(part.CustPn, value);
             break;
         default:
             break;
     }
     return ret;
 }
Пример #50
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="session"></param>
        /// <param name="product"></param>
        /// <param name="mb"></param>
        /// <param name="delivery"></param>
        /// <param name="part"></param>
        /// <param name="name"></param>
        /// <param name="spliter"></param>
        /// <returns></returns>
        public static string GetValue(Session session, 
                                                    IProduct product, 
                                                    IMB mb, 
                                                    Delivery delivery, 
                                                    IPart part,
                                                    string name, char spliter)
        {
            int index = name.IndexOf(spliter);
            if (index < 1)
            {
                throw new Exception("wrong method name : " + name);
            }

            string objName = name.Substring(0, index).ToUpper();
            string objMethod = name.Substring(index + 1).Trim();

            if (objName == GlobalConstName.ResolveValue.PRODUCTINFO)
            {
                if (product == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Product" });
                }
                return product.ProductInfoes
                                            .Where(x => x.InfoType == objMethod)
                                            .Select(y => y.InfoValue).FirstOrDefault();
            }
            if (objName == GlobalConstName.ResolveValue.PRODUCTATTR)
            {
                if (product == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Product" });
                }
                if (product.ProductAttributes == null ||
                    !product.ProductAttributes.Any(x => x.AttributeName == objMethod))
                {
                    throw new FisException("CHK1036", new List<string> { product.ProId, name });
                }
                return product.ProductAttributes
                                            .Where(x => x.AttributeName == objMethod)
                                            .Select(y => y.AttributeValue).FirstOrDefault().Trim();
            }

            if (objName == GlobalConstName.ResolveValue.MODEL)
            {
                if (product == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Product" });                   
                }

                if (product.ModelObj == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Product.ModelObj" });
                }

                object value = product.ModelObj.GetProperty(objMethod);
                if (value == null)
                {
                    return null;
                }
                return value.ToString().Trim();

            }

            if (objName == GlobalConstName.ResolveValue.MODELINFO)
            {
                if (product == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Product" });
                }

                if (product.ModelObj == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Product.ModelObj" });
                }

                return product.ModelObj.Attributes
                                            .Where(x => x.Name == objMethod)
                                            .Select(y => y.Value).FirstOrDefault();
            }

            if (objName == GlobalConstName.ResolveValue.FAMILYINFO)
            {
                if (product == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Product" });
                }
                string family = product.Family;
                //IFamilyRepository familyRep = RepositoryFactory.GetInstance().GetRepository<IFamilyRepository>();
                IList<FamilyInfoDef> familyInfoList = familyRep.GetExistFamilyInfo(new FamilyInfoDef { family = family, name = objMethod });

                if (familyInfoList == null || familyInfoList.Count == 0)
                {
                    throw new FisException("CHK1036", new List<string> { family, objMethod });
                }

                return familyInfoList[0].value;
            }

            if (objName == GlobalConstName.ResolveValue.PRODUCT)
            {
                if (product == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Product" });
                }
                object value = product.GetProperty(objMethod);
                if (value==null)
                {
                    throw new FisException("not exists property name:" + name);
                }
                return value.ToString();
            }

            #region disable for ICI HTC case
            //if (objName == GlobalConstName.ResolveValue.IMGOSVER)
            //{
            //    if (product == null)
            //    {
            //       throw new FisException("CQCHK0006", new List<string> { "Product" });                   
            //    }

            //    if (product.ModelObj == null ||
            //        string.IsNullOrEmpty(product.ModelObj.OSCode) ||
            //        product.ModelObj.LastEffectiveOSVer == null)
            //    {
            //        throw new FisException("CQCHK0006", new List<string> { "No setup ImgOSVer" });
            //    }

            //    object value = product.ModelObj.LastEffectiveOSVer.GetField(objMethod);
            //    if (value == null)
            //    {
            //        throw new FisException("not exists field name:" + name);
            //    }

            //    return value.ToString().Trim();
            //} 
            #endregion

            if (objName == GlobalConstName.ResolveValue.PCB)
            {
                if (mb == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "PCB" });
                }
                object value = mb.GetProperty(objMethod);
                if (value == null)
                {
                    throw new FisException("not exists property name:" + name);
                }
                return value.ToString();
            }

            if (objName == GlobalConstName.ResolveValue.PCBINFO)
            {
                if (mb == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "PCB" });
                }

                return mb.MBInfos
                               .Where(x => x.InfoType == objMethod)
                               .Select(y => y.InfoValue).FirstOrDefault();
            }

            if (objName == GlobalConstName.ResolveValue.DELIVERY)
            {
                if (delivery == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Delivery" });
                }
                object value = delivery.GetProperty(objMethod);
                if (value == null)
                {
                    throw new FisException("not exists property name:" + name);
                }
                return value.ToString();
            }

            if (objName == GlobalConstName.ResolveValue.DELIVERYINFO)
            {
                if (delivery == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Delivery" });
                }
                return delivery.DeliveryInfoes
                              .Where(x => x.InfoType == objMethod)
                              .Select(y => y.InfoValue).FirstOrDefault();
            }


            if (objName == GlobalConstName.ResolveValue.PART)
            {
                if (part == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Delivery" });
                }
                object value = part.GetProperty(objMethod);
                if (value==null)
                {
                    throw new FisException("not exists property name:" + name);
                }
                return value.ToString();
            }

            if (objName == GlobalConstName.ResolveValue.PARTINFO)
            {
                if (part == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Delivery" });
                }
                return part.Attributes
                             .Where(x => x.InfoType == objMethod)
                             .Select(y => y.InfoValue).FirstOrDefault();
            }

            if (objName == GlobalConstName.ResolveValue.SESSION)
            {
                if (session == null)
                {
                    throw new FisException("CQCHK0006", new List<string> { "Session" });                    
                }
                object value = session.GetValue(objMethod);
                if (value == null)
                {
                    throw new FisException("not exists session key name:" + name);
                }
                return value.ToString().Trim();
            }
            if (objName == GlobalConstName.ResolveValue.DATETIME)
            {
                DateTime now = DateTime.Now;
                return now.ToString(objMethod);
            }

            if (objName == GlobalConstName.ResolveValue.CONSTANT)
            {
                return objMethod;
            } 
            throw new Exception("not support resolve name:" + name);
        }
Пример #51
0
        private void checkBindToThisProductForMB(IProduct thisProduct, IPart newPart)
        {
            IBOMPart bomPart = (IBOMPart)newPart;
            /*
            string newPartSn = bomPart.MatchedSn;

            if (string.Compare(thisProduct.PCBID, newPartSn, true) == 0)
            {
                List<string> erpara = new List<string>();
                erpara.Add("SN");
                erpara.Add(newPartSn);
                var ex = new FisException("CHK083", erpara);
                ex.stopWF = false;
                throw ex;
            }*/
        }
Пример #52
0
 public static Gear Create(IPart parent, GearData gearData, GearData conjugateGearData, ToothProfile toothProfile, double helicalAngle, double bevelAngle, double bevelKneeRatio, double depth)
 {
     Gear gear = new BevelGear(parent, gearData, conjugateGearData, toothProfile, helicalAngle, bevelAngle, bevelKneeRatio, depth);
     BuildGear(gear);
     return gear;
 }
Пример #53
0
        protected Gear(IPart parent, GearData gearData, GearData conjugateGearData, ToothProfile toothProfile, double helicalAngle, double depth)
        {
            Parent = parent;
            GearData = gearData;
            ConjugateGearData = conjugateGearData;
            ToothProfile = toothProfile;
            HelicalAngle = helicalAngle;
            Depth = depth;

            Period = ToothProfile.GetProfile();
            Window activeWindow = Window.ActiveWindow;
            string name = String.Format(Resources.GearPartNameFormat, GearData.Pitch * activeWindow.Units.Length.ConversionFactor, activeWindow.Units.Length.Symbol, GearData.NumberOfTeeth, GearData.PressureAngle * 180 / Math.PI);
            Part = Part.Create(Parent.Master.Document, name);
            Component = Component.Create(parent.Master, Part);
            Component.Transform(parent.TransformToMaster);

            GearLayer = NoteHelper.CreateOrGetLayer(Part.Document, Resources.GearLayerName, System.Drawing.Color.LightSteelBlue);
            PitchCircleLayer = NoteHelper.CreateOrGetLayer(Part.Document, Resources.PitchCircleLayerName, System.Drawing.Color.SteelBlue);
            PitchCircleLayer.SetVisible(null, false);
            VisualizationLayer = NoteHelper.CreateOrGetLayer(Part.Document, Resources.VisualizationBodyLayerName, System.Drawing.Color.SteelBlue);

            AlignmentPart = Part.Create(Part.Document, Resources.AlignmentPlanePartName);
            AlignmentComponent = Component.Create(Part, AlignmentPart);
            AlignmentDesBodies = new List<DesignBody>();
            AlignmentLayer = NoteHelper.CreateOrGetLayer(Part.Document, Resources.AlignmentPlaneLayerName, System.Drawing.Color.AliceBlue);
            AlignmentLayer.SetVisible(null, false);
        }
Пример #54
0
        //ITC-1122-0165 Tong.Zhi-Yong 2010-03-02
        private void checkBindToThisProduct(IProduct thisProduct, IPart newPart)
        {
            IList<IProductPart> parts = thisProduct.ProductParts;
            IBOMPart bomPart = (IBOMPart)newPart;
            //string newPartSn;// = bomPart.MatchedSn;
            string newPartPn = bomPart.PN;

            if (parts != null)
            {
                foreach (var productPart in parts)
                {
                    //if (string.Compare(productPart.Value, newPartSn, true) == 0 && string.Compare(productPart.PartID, newPartPn, true) == 0)
                    {
                        List<string> erpara = new List<string>();
                        erpara.Add("SN");
                        //erpara.Add(newPartSn);
                        var ex = new FisException("CHK083", erpara);
                        ex.stopWF = false;
                        throw ex;
                    }
                }
            }
        }
Пример #55
0
 private int getMaxQty(IList<QtyParts> qty_parts,IPart part)
 {
     int ret = 0;
     if (qty_parts != null && part != null)
     {
         foreach (QtyParts qty_part in qty_parts)
         {
             Boolean is_equal = false;
             if (qty_part.Parts != null)
             {
                 foreach (IPart apart in qty_part.Parts)
                 {
                     if (apart.PN.Trim().Equals(part.PN.Trim()))
                     {
                         is_equal = true;
                     }
                 }
             }
             if (is_equal)
             {
                 if (ret < qty_part.Qty)
                 {
                     ret = qty_part.Qty;
                 }
             }
         }
     }
     return ret;
 }
Пример #56
0
        /// <summary>
        /// Resolve UPS Parameter Name/Value
        /// </summary>
        /// <param name="srcData"></param>
        /// <param name="session"></param>
        /// <param name="product"></param>
        /// <param name="dn"></param>
        /// <param name="part"></param>
        /// <param name="hpPOInfo"></param>
        /// <param name="spliter"></param>
        /// <returns></returns>
        public static string replaceUPSParameter(string[] srcData, 
                                                                     Session session, 
                                                                      IProduct product, 
                                                                      Delivery dn, 
                                                                      IPart part,
                                                                      UPSHPPOInfo  hpPOInfo,                                                                        
                                                                      char spliter)
        {
           
            int index = 0;
            foreach (string value in srcData)
            {
                if (value.Contains(spliter))
                {
                    string s = GetValue(hpPOInfo, value, spliter);
                    if (string.IsNullOrEmpty(s))
                    {
                        s = ResolveValue.GetValue(session, product, null, dn, part, value, spliter);
                    }

                    if (string.IsNullOrEmpty(s))
                    {
                        throw new FisException("CQCHK0006", new List<string> { value });
                    }
                    srcData[index] = s;
                }
                index++;
            }
            return string.Join(",", srcData);
        }
Пример #57
0
        protected StraightGear(IPart parent, GearData gearData, GearData conjugateGearData, ToothProfile toothProfile, double helicalAngle, double screwAngle, double depth)
            : base(parent, gearData, conjugateGearData, toothProfile, helicalAngle, depth)
        {
            StartPoint = Point.Origin + Vector.Create(0, 0, Depth / 2); ;
            EndPoint = StartPoint + Vector.Create(0, 0, -Depth);
            StartFrame = Frame.Create(StartPoint, Direction.DirX, Direction.DirY);
            EndFrame = Frame.Create(EndPoint, StartFrame.DirX, -StartFrame.DirY);
            StartPlane = Plane.Create(StartFrame);
            EndPlane = Plane.Create(EndFrame);

            ScrewAngle = screwAngle;
        }
Пример #58
0
        private void combineCDSI(Session session,IProduct product, IPart part, string checkItemType, string avPartNo )
            {
                var prodRep = RepositoryFactory.GetInstance().GetRepository<IProductRepository, IProduct>();

                string AST1 = "";
                CdsiastInfo cdi = new CdsiastInfo();
                cdi.tp = "ASSET_TAG";
                cdi.snoId = product.ProId;
                IList<CdsiastInfo> cdsiastInfoList = prodRep.GetCdsiastInfoList(cdi);
                if (cdsiastInfoList != null && cdsiastInfoList.Count > 0)
                {
                    AST1 = cdsiastInfoList[0].sno;
                }

                string AST2 = "";
                CdsiastInfo cdi2 = new CdsiastInfo();
                cdi2.tp = "ASSET_TAG2";
                cdi2.snoId = product.ProId;
                IList<CdsiastInfo> cdsiastInfoList2 = prodRep.GetCdsiastInfoList(cdi2);
                if (cdsiastInfoList2 != null && cdsiastInfoList2.Count > 0)
                {
                    AST2 = cdsiastInfoList2[0].sno;
                }

                if ((AST1 == "") && (AST2 == ""))
                {
                    List<string> errpara = new List<string>();
                    throw new FisException("CHK203", errpara);
                }
                else
                {
                    //不为空则存入
                    //保存product和Asset SN的绑定关系
                   if (AST1 != "")
                   {
                           IProductPart assetTag1 = new ProductPart();
                            assetTag1.ProductID = product.ProId;
                            assetTag1.PartID = part.PN;
                            assetTag1.PartType = part.Descr;
                            assetTag1.Iecpn = "";
                            assetTag1.CustomerPn = avPartNo;
                            assetTag1.PartSn = AST1;
                            assetTag1.Station = this.Station;
                            assetTag1.Editor = this.Editor;
                            assetTag1.Cdt = DateTime.Now;
                            assetTag1.Udt = DateTime.Now;
                            assetTag1.BomNodeType = part.BOMNodeType;
                            assetTag1.CheckItemType = checkItemType;

                            product.AddPart(assetTag1);
                            prodRep.Update(product, session.UnitOfWork);
                    }

                    if (AST2 != "")
                    {
                        IProductPart assetTag2 = new ProductPart();
                        assetTag2.ProductID = product.ProId;
                        assetTag2.PartID = part.PN;
                        assetTag2.PartType = part.Descr;
                        assetTag2.Iecpn = "";
                        assetTag2.CustomerPn = avPartNo;
                        assetTag2.PartSn = AST2;
                        assetTag2.Station = this.Station;
                        assetTag2.Editor = this.Editor;
                        assetTag2.Cdt = DateTime.Now;
                        assetTag2.Udt = DateTime.Now;
                        assetTag2.BomNodeType = part.BOMNodeType;
                        assetTag2.CheckItemType = checkItemType;

                        product.AddPart(assetTag2);
                        prodRep.Update(product, session.UnitOfWork);
                    }

                    session.AddValue("AST1", AST1);
                    session.AddValue("AST2", AST2);

                    //2012-5-2
                    string ASTinfo = "";
                    if (!string.IsNullOrEmpty(AST1) && !string.IsNullOrEmpty(AST2))
                    {
                        ASTinfo += AST1 + ", " + AST2;
                    }
                    else if (!string.IsNullOrEmpty(AST1) && string.IsNullOrEmpty(AST2))
                    {
                        ASTinfo = AST1;
                    }
                    else if (string.IsNullOrEmpty(AST1) && !string.IsNullOrEmpty(AST2))
                    {
                        ASTinfo = AST2;
                    }
                    session.AddValue("ASTInfo", ASTinfo);
                }
            }
Пример #59
0
 private Boolean PartCompare(IList<IPart> parts, IPart part)
 {
     if (part != null && parts != null)
     {
         foreach (var apart in parts)
         {
             if (part.PN.Trim().Equals(apart.PN.Trim()))
             {
                 return true;
             }
         }
     }
     return false;
 }
Пример #60
0
 public void AddAlterPart(IPart part)
 {
     _alterParts.Add(part);
 }