Beispiel #1
0
        private void ReplaceOldOfficeCD(IFlatBOM bom, IProduct prod )
        {
            IPartRepository partRep = RepositoryFactory.GetInstance().GetRepository<IPartRepository, IPart>();
            if (prod != null)
            {
                try
                {
                    bool bFindOldPartNo = false;
                    string imgPartNo = ((string)prod.GetExtendedProperty("IMG")).Trim();
                    IList<ConstValueInfo> valueList = partRep.GetConstValueListByType("OfficeCD");
                    var partNo = (from p in valueList
                                  where p.name == imgPartNo
                                  select p).ToList();

                    if (partNo != null && partNo.Count > 0 &&
                        !string.IsNullOrEmpty(partNo[0].value) &&
                         !string.IsNullOrEmpty(partNo[0].description))
                    {
                        string[] oldPartNo = partNo[0].value.Split(new char[] { '~' });
                        string newPartNo = partNo[0].description.Trim();

                        foreach (FlatBOMItem item in bom.BomItems)
                        {
                            var oldPart = (from p in item.AlterParts
                                           where oldPartNo.Contains(p.PN)
                                           select p).ToList();
                            if (oldPart != null && oldPart.Count > 0)
                            {

                                bFindOldPartNo = true;
                                IPart newPart = GetNewOfficePart(newPartNo, item);
                                if (newPart != null)
                                {
                                    item.AlterParts.Clear();
                                    item.AlterParts.Add(newPart);
                                }

                            }

                            if (bFindOldPartNo)
                                break;
                        }
                    }
                }
                catch
                {
                }

            }
        }