Exemplo n.º 1
0
        private static void CBOMV2ConfiguratorData2Model(List <CBOMV2Model.CBOMV2Category> categoryRecords, ConfiguratorRecord currentNode)
        {
            List <CBOMV2Model.CBOMV2Category> subRecords = (from q in categoryRecords where q.ParentHieId == currentNode.CBOMV2HieID orderby q.SeqNo, q.CategoryName select q).ToList();

            if (subRecords.Count == 0)
            {
                return;
            }

            foreach (CBOMV2Model.CBOMV2Category subRecord in subRecords)
            {
                ConfiguratorRecord subModel = new ConfiguratorRecord(subRecord.Id, subRecord.CategoryName, subRecord.CategoryDesc, subRecord.SeqNo, subRecord.CategoryType, subRecord.Qty, 1, Convert.ToBoolean(subRecord.isDefault), Convert.ToBoolean(subRecord.isRequired), Convert.ToBoolean(subRecord.isExpand), Convert.ToBoolean(subRecord.isLooseItem), subRecord.HieId);

                currentNode.Children.Add(subModel);
                CBOMV2ConfiguratorData2Model(categoryRecords, subModel);
            }
        }
Exemplo n.º 2
0
        public static ConfiguratorModel GetCBOMV1ConfiguratorModel(string rootId, string salesOrg, string cbomOrg)
        {
            // 1. Get all records include Root, categories, components from DB
            List <CBOMV1Model.CBOMV1Category> categoryRecords = CBOMV1Model.GetCBOMV1CategoryRecords(rootId, salesOrg, cbomOrg);

            categoryRecords.RemoveAll(item => (item.CategoryType == CategoryType.Component || item.CategoryType == CategoryType.SharedComponent) && !isPartOrdereable(item.CategoryName, salesOrg));
            CBOMV1Model.CBOMV1Category rootRecord = (from q in categoryRecords where q.Id == rootId select q).ToList().FirstOrDefault();

            // 2. Convert DB records to ConfiguratorRecord which contains whole tree structure
            ConfiguratorRecord rootNode = new ConfiguratorRecord(rootRecord.Id, rootRecord.CategoryName, rootRecord.CategoryDesc, 0, CategoryType.Root, 1, 1, true, false, true, false, "");

            CBOMV1Category2Model(categoryRecords, rootNode);

            // 3. Add rootNode to standard ViewModel ConfiguratorModel
            ConfiguratorModel rootModel = new ConfiguratorModel(salesOrg, cbomOrg, 1, "", "", rootNode);

            return(rootModel);
        }
Exemplo n.º 3
0
 public ConfiguratorModel(string salesOrg, string cbomOrg, int version, string companyId, string currency, ConfiguratorRecord rootNode)
 {
     this.SalesOrg  = salesOrg;
     this.CBOMOrg   = cbomOrg;
     this.Version   = version;
     this.CompanyID = companyId;
     this.Currency  = currency;
     this.RootNode  = rootNode;
 }