Exemplo n.º 1
0
        public List <M_Article> M_ArticleGetArticlesToBuy()
        {
            List <M_Article> articlesToBuy = new List <M_Article>();
            M_ArticleType    articleType   = _articleTypes.GetAll()
                                             .Single(x => x.Name == MasterTableArticle.ARTICLE_PRODUCTS);

            articlesToBuy = _articles.GetAll().Where(x => x.ArticleTypeId == articleType.Id)
                            .ToList();
            return(articlesToBuy);
        }
        internal M_ArticleType[] Init(MasterDBContext context)
        {
            var articleTypes = new M_ArticleType[]
            {
                ASSEMBLY,
                MATERIAL,
                CONSUMABLE,
                PRODUCT
            };

            context.ArticleTypes.AddRange(entities: articleTypes);
            context.SaveChanges();
            return(articleTypes);
        }
 internal MasterTableArticleType()
 {
     ASSEMBLY = new M_ArticleType {
         Name = "Assembly"
     };
     MATERIAL = new M_ArticleType {
         Name = "Material"
     };
     CONSUMABLE = new M_ArticleType {
         Name = "Consumable"
     };
     PRODUCT = new M_ArticleType {
         Name = "Product"
     };
 }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        private static M_ArticleType[] CreateArticleTypes()
        {
            var articleTypes = new M_ArticleType[]
            {
                new M_ArticleType {
                    Name = "Assembly"
                },
                new M_ArticleType {
                    Name = "Material"
                },
                new M_ArticleType {
                    Name = "Consumable"
                },
                new M_ArticleType {
                    Name = "Product"
                }
            };

            return(articleTypes);
        }
        private static M_Unit GeneratePartsForCurrentLevel(ProductStructureInput inputParameters, M_Unit[] unitCol,
                                                           XRandom rng, int i, bool sampleWorkPlanLength, TruncatedDiscreteNormal truncatedDiscreteNormalDistribution,
                                                           HashSet <long> availableNodesOnThisLevel, long j, M_Unit unit, M_ArticleType articleType, bool toPurchase,
                                                           bool toBuild, Dictionary <long, Node> nodesCurrentLevel)
        {
            availableNodesOnThisLevel.Add(j);

            if (i == inputParameters.DepthOfAssembly)
            {
                var pos = rng.Next(unitCol.Length);
                unit = unitCol[pos];
            }

            var node = new Node
            {
                AssemblyLevel = i,
                Article       = new M_Article
                {
                    Name           = "Material " + i + "." + (j + 1),
                    ArticleTypeId  = articleType.Id,
                    CreationDate   = DateTime.Now,
                    DeliveryPeriod = 5,
                    UnitId         = unit.Id,
                    Price          = 10,
                    ToPurchase     = toPurchase,
                    ToBuild        = toBuild
                }
            };

            nodesCurrentLevel[j] = node;
            if (sampleWorkPlanLength && i != inputParameters.DepthOfAssembly)
            {
                node.WorkPlanLength = truncatedDiscreteNormalDistribution.Sample();
            }

            return(unit);
        }