Exemplo n.º 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);
        }
Exemplo n.º 2
0
        public static IEnumerable <MeasureRatio> DefinedMeasures(this IMeasureManager manager, IEnumerable <MeasureRatio> defined)
        {
            List <MeasureRatio> result = new List <MeasureRatio>();
            var measures = manager.Measures.ToList();

            foreach (var m in measures)
            {
                bool success = true;
                var  temp    = m;
                while (temp != null && success)
                {
                    if (temp.Ratio != null || temp.BaseUnit == null || defined.Any(d => d.UnitId == temp.Id))
                    {
                        temp = temp.BaseUnit;
                    }
                    else
                    {
                        success = false;
                    }
                }
                if (success)
                {
                    result.Add(new MeasureRatio
                    {
                        UnitId   = m.Id,
                        BaseName = m.Name
                    });
                }
            }

            return(result);
        }
Exemplo n.º 3
0
 private static ProductUnitUnitRatio GetProductMeasure(this IMeasureManager manager, Guid productId, Guid measureId)
 {
     try
     {
         return(manager.ProductMeasures.ToList().First(m => m.ProductId == productId && m.UnitId == measureId));
     }
     catch (Exception) { return(null); }
 }
Exemplo n.º 4
0
        public static IEnumerable <string> DefinableMeasures(this IMeasureManager manager, Guid productId)
        {
            List <string> result = new List <string>();

            foreach (var unit in manager.Measures)
            {
                if (manager.MeasureCanBeDefined(unit.Id, productId))
                {
                    result.Add(unit.Name);
                }
            }
            return(result);
        }
Exemplo n.º 5
0
        public static SelectList DefinedMeasures(this IMeasureManager manager, Guid productId)
        {
            List <Unit> list = new List <Unit>();

            foreach (var unit in manager.Measures.ToList())
            {
                if (manager.MeasureIsDefined(unit.Id, productId))
                {
                    list.Add(unit);
                }
            }
            return(new SelectList(list, "Id", "Name"));
        }
 public CatalogViewModel(
         IPackageManager packageManager,
     IProductManager productManager,
     IProducerManager producerManager,
     ICategoryManager categoryManager,
     IMeasureManager measureManager,
     IPriceManager priceManager
     )
 {
     _packageManager = packageManager;
     _productManager = productManager;
     _producerManager = producerManager;
     _categoryManager = categoryManager;
     _measureManager = measureManager;
     _priceManager = priceManager;
 }
Exemplo n.º 7
0
 public ProductController(IProductManager productManager, IMeasureManager measureManager)
 {
     ProductManager = productManager;
     MeasureManager = measureManager;
 }
Exemplo n.º 8
0
 public static IEnumerable <MeasureRatio> DefinableMeasures(this IMeasureManager manager)
 {
     return(manager.DefinableMeasures(new List <MeasureRatio>()));
 }
Exemplo n.º 9
0
 public MeasureViewModel(IMeasureManager manager)
 {
     _measureManager = manager;
 }
Exemplo n.º 10
0
 public ProductController(IProductManager productManager, IMeasureManager measureManager)
 {
     ProductManager = productManager;
     MeasureManager = measureManager;
 }