コード例 #1
0
        public EPartCompare getListCompareEPartStructure(int Lev, int?LOID, int?ROID, EPart LPartData, EPart RPataData, List <EBOM> CompareList)
        {
            List <EBOM> CheckCompareList = CompareList;

            EPartCompare getCompareStructure = new EPartCompare();

            getCompareStructure.Level     = Lev;
            getCompareStructure.LOId      = LOID;
            getCompareStructure.ToOID     = LOID;
            getCompareStructure.RootOID   = LOID;
            getCompareStructure.LName     = LPartData.Name;
            getCompareStructure.LType     = EBomConstant.TYPE_PART;
            getCompareStructure.LToOld    = LOID;
            getCompareStructure.LRevision = LPartData.Revision;
            //getCompareStructure.LId = null;

            getCompareStructure.RName     = RPataData.Name;
            getCompareStructure.RType     = EBomConstant.TYPE_PART;
            getCompareStructure.RToOld    = ROID;
            getCompareStructure.RRevision = RPataData.Revision;
            //getCompareStructure.RId = null;

            getCompareEPartStructure(getCompareStructure, LOID, ROID, CompareList, CheckCompareList);
            //if(CheckCompareList.Count > 1)
            //{
            //    getCheckCompareEPartStructure(getCompareStructure, LOID, ROID, CompareList, CheckCompareList);
            //}
            return(getCompareStructure);
        }
コード例 #2
0
        public void getCheckCompareEPartStructure(EPartCompare getCompareStructure, int?LOID, int?ROID, List <EBOM> CompareList, List <EBOM> CheckCompareList)
        {
            getCompareStructure.CompareChildren = new List <EPartCompare>();

            List <EBOM> lRelation = CompareList.FindAll(item => { return(((EBOM)item).FromOID == getCompareStructure.RToOld && item.LToOID == null); }).OrderBy(x => ((EBOM)x).Ord).ToList();

            for (var j = 0; j < lRelation.Count; j++)
            {
                EPartCompare tmpCompareItem = new EPartCompare();
                tmpCompareItem.Level   = getCompareStructure.Level + 1;
                tmpCompareItem.FromOID = lRelation[j].FromOID;
                tmpCompareItem.ToOID   = lRelation[j].ToOID;
                tmpCompareItem.LToOld  = lRelation[j].LToOID;
                tmpCompareItem.RToOld  = lRelation[j].RToOID;
                tmpCompareItem.Action  = lRelation[j].Action;
                if (tmpCompareItem.Action.Equals(PmsConstant.ACTION_ADD))
                {
                    tmpCompareItem.Action = PmsConstant.ACTION_NONE;

                    EPart LDetail = EPartRepository.SelEPartObject(new EPart {
                        OID = tmpCompareItem.ToOID
                    });
                    tmpCompareItem.LOId  = LDetail.OID;
                    tmpCompareItem.LName = LDetail.Name;
                    tmpCompareItem.LType = LDetail.Type;
                    //tmpCompareItem.LId = LDetail.OID;
                    tmpCompareItem.LOrd = lRelation[j].Ord;


                    EPart RDetail = EPartRepository.SelEPartObject(new EPart {
                        OID = tmpCompareItem.RToOld
                    });
                    tmpCompareItem.ROId  = RDetail.OID;
                    tmpCompareItem.RName = RDetail.Name;
                    tmpCompareItem.RType = RDetail.Type;
                    //tmpCompareItem.RId = RDetail.OID;
                    tmpCompareItem.ROrd = lRelation[j].Ord;

                    if (!tmpCompareItem.LOId.Equals(tmpCompareItem.ROId))
                    {
                        tmpCompareItem.Action = PmsConstant.ACTION_MODIFY;

                        if (!tmpCompareItem.LName.Equals(tmpCompareItem.RName))
                        {
                            tmpCompareItem.Action = tmpCompareItem.Action + "|" + "Name";
                        }

                        if (!tmpCompareItem.LOrd.Equals(tmpCompareItem.ROrd))
                        {
                            tmpCompareItem.Action = tmpCompareItem.Action + "|" + "Ord";
                        }
                    }
                }
                else if (tmpCompareItem.Action.Equals(PmsConstant.ACTION_LEFT))
                {
                    tmpCompareItem.Action = PmsConstant.ACTION_ADD_NM;
                    EPart LDetail = EPartRepository.SelEPartObject(new EPart {
                        OID = tmpCompareItem.ToOID
                    });
                    tmpCompareItem.LOId  = LDetail.OID;
                    tmpCompareItem.LName = LDetail.Name;
                    tmpCompareItem.LType = LDetail.Type;
                    //tmpCompareItem.LId = LDetail.OID;
                    tmpCompareItem.LOrd = lRelation[j].Ord;
                }
                else if (tmpCompareItem.Action.Equals(PmsConstant.ACTION_RIGHT))
                {
                    tmpCompareItem.Action = PmsConstant.ACTION_DELETE_NM;
                    EPart RDetail = EPartRepository.SelEPartObject(new EPart {
                        OID = tmpCompareItem.RToOld
                    });
                    tmpCompareItem.ROId  = RDetail.OID;
                    tmpCompareItem.RName = RDetail.Name;
                    tmpCompareItem.RType = RDetail.Type;
                    //tmpCompareItem.RId = RDetail.OID;
                    tmpCompareItem.ROrd = lRelation[j].Ord;
                }

                getCompareStructure.CompareChildren.Add(tmpCompareItem);
                CheckCompareList.RemoveAll(data => data.Equals(lRelation[j]));
                getCheckCompareEPartStructure(tmpCompareItem, LOID, ROID, CompareList, CheckCompareList);
                //List<EBOM> A = CompareList.FindAll(item => { return ((EBOM)item).FromOID == tmpCompareItem.ToOID; }).OrderBy(x => ((EBOM)x).Ord).ToList();
            }
        }