Example #1
0
        public static List <MeasureInfo> GetMeasuresForProduct(this IMeasureManager manager, Guid id)
        {
            //Product p = manager.FindById(id);
            Queue <Unit> toCheck = new Queue <Unit>(manager.DerivedMeasures(null));

            List <MeasureInfo> result = new List <MeasureInfo>();

            while (toCheck.Count > 0)
            {
                Unit temp = toCheck.Dequeue();
                if (temp.Ratio != null || temp.BaseUnit == null)
                {
                    result.Add(Mapper.Map <Unit, MeasureInfo>(temp));
                    foreach (var u in manager.DerivedMeasures(temp.Id))
                    {
                        toCheck.Enqueue(u);
                    }
                }
                else
                {
                    ProductUnitUnitRatio measure = manager.GetProductMeasure(id, temp.Id);
                    if (measure != null)
                    {
                        result.Add(Mapper.Map <ProductUnitUnitRatio, MeasureInfo>(measure));
                        foreach (var u in manager.DerivedMeasures(temp.Id))
                        {
                            toCheck.Enqueue(u);
                        }
                    }
                }
            }

            return(result);
        }
Example #2
0
 public void Create(ProductUnitUnitRatio productMeasureRatio)
 {
     if (productMeasureRatio != null)
     {
         Context.ProductUnitUnitRatios.Add(productMeasureRatio);
     }
 }