Exemple #1
0
        public List <ItemCambioDePrecioDeVenta> CreaItems(int folder, int areaID, int sectorID, int subsectorID, int familiaID, int subfamiliaID, int marca)
        {
            var result    = new List <ItemCambioDePrecioDeVenta>();
            var costos    = buscadorCosto.BuscaCosto();
            var articulos = this.buscadorArticulo.obtenerArticulos(folder, areaID, sectorID, subsectorID, familiaID, subfamiliaID, marca);

            foreach (var articulo in articulos)
            {
                var item = new ItemCambioDePrecioDeVenta();
                item.Articulo   = articulo;
                item.ArticuloId = articulo.Id;
                if (costos != null && costos.Count != 0)
                {
                    item.Costo = costos[articulo.Id];
                }

                var unidad = articulo.CodigoEAN.FirstOrDefault(p => p.Activo == true);
                if (unidad != null && unidad.UnidadesPorBulto != 0)
                {
                    item.CFU = item.Costo / (int)unidad.UnidadesPorBulto;
                }
                else
                {
                    item.CFU = 0;
                }
                result.Add(item);
            }
            return(result);
        }
        private void mapeaUnidadDeNegocios(DataColumn Columna, DataRow row, ItemCambioDePrecioDeVenta detalle)
        {
            var fila = new SubItemCambioDePrecioDeVenta();
            var name = Columna.ColumnName;

            foreach (var unidadDeNegocio in Enum.GetNames(typeof(Inteldev.Core.Modelo.Organizacion.UnidadeDeNegocio)))
            {
                if (name.StartsWith(unidadDeNegocio))
                {
                    fila.UnidadDeNegocio = (Inteldev.Core.Modelo.Organizacion.UnidadeDeNegocio)Enum.Parse(typeof(Inteldev.Core.Modelo.Organizacion.UnidadeDeNegocio), unidadDeNegocio);
                    var margen = row.Field <object>(fila.UnidadDeNegocio.ToString() + " Margen");
                    if (margen != null)
                    {
                        fila.Margen = (decimal)margen;
                    }
                    var precio = row.Field <object>(fila.UnidadDeNegocio.ToString() + " Precio");
                    if (precio != null)
                    {
                        fila.Precio = (decimal)precio;
                    }
                    detalle.SubItems.Add(fila);
                }
            }
        }