protected override Familia ObtenerEntidad(System.Data.DataRow item) { var codigo = item["codigo"].ToString(); var codigoArea = item["area"].ToString(); var codigoSector = item["sector"].ToString(); var codigoSubsector = item["subsector"].ToString(); var entidad = buscador.ObtenerFamilia(codigo, codigoSubsector, codigoSector, codigoArea); if (entidad == null) { entidad = this.CrearNueva(); } return(entidad); }
protected override Articulo Mapear(Articulo entidad, System.Data.DataRow registro) { entidad.Codigo = registro["codigo"].ToString().Trim(); entidad.Nombre = registro["descrip"].ToString().Trim(); entidad.NombreBreve = registro["descrip_ticket"].ToString().Trim(); entidad.CodigoDelProveedor = registro["codigoorig"].ToString().Trim(); entidad.Proveedor = this.BuscarEntidadPorCodigo <Proveedor>(registro["proveedor"].ToString().Trim()); entidad.Marca = this.BuscarEntidadPorCodigo <Marca>(registro["marca"].ToString().Trim()); entidad.Empaque = this.BuscarEntidadPorCodigo <Empaque>(registro["empaque"].ToString().Trim()); var estado = registro["estado"].ToString().Trim(); if (estado == "1") { entidad.Estado = EstadoArticulo.Activo; } else if (estado == "2") { entidad.Estado = EstadoArticulo.Suspendido; } else { entidad.Estado = EstadoArticulo.Inactivo; } entidad.Caracteristica = this.BuscarEntidadPorCodigo <Caracteristica>(registro["caracteristica"].ToString().Trim()); entidad.VentaPorPeso = this.ObtenerBoolDeString(registro["ventaporpeso"].ToString().Trim()); entidad.EsEnvase = this.ObtenerBoolDeString(registro["esenvase"].ToString().Trim()); #region Area-Sector-SubSector-Familia-SubFamilia var codigoArea = registro["area"].ToString().Trim(); var codigoSector = registro["sector"].ToString().Trim(); var codigoSubsector = registro["subsector"].ToString().Trim(); var codigoFamilia = registro["familia"].ToString().Trim(); var codigoSubfamilia = registro["subfamilia"].ToString().Trim(); entidad.Area = this.BuscarEntidadPorCodigo <Area>(codigoArea); if (entidad.Area != null) //seguimos con la carga de datos si area no es null { entidad.Sector = buscadorSector.ObtenerSector(codigoSector, codigoArea); if (entidad.Sector != null) //seguimos hacia abajo { entidad.Subsector = buscadorSubsector.ObtenerSubsector(codigoSubsector, entidad.Sector.Id); if (entidad.Subsector != null) //seguimos hacia abajo { entidad.Familia = buscadorFamilia.ObtenerFamilia(codigoFamilia, entidad.Subsector.Id); if (entidad.Familia != null) //ultimo escalón { entidad.Subfamilia = buscadorSubfamilia.ObtenerSubfamilia(codigoSubfamilia, entidad.Familia.Id); } } } } #endregion entidad.Envase = this.BuscarEntidadPorCodigo <Envase>(registro["vacio"].ToString().Trim()); var tasaIva = registro["modiva"].ToString().Trim(); if (tasaIva == "1") { entidad.TasaDeIVA = EnumTasas.General; } else { entidad.TasaDeIVA = EnumTasas.Reducida; } #region Lista Codigos DUN var pallet = registro["cant_palet"].ToString().Trim(); var cantbase = registro["cant_base"].ToString().Trim(); var altura = registro["altura"].ToString().Trim(); this.MapearCodigosDun(entidad, pallet, cantbase, altura); #endregion #region Lista Codigos EAN var bulto = registro["unidxbult"].ToString().Trim(); var pack = registro["fraccion"].ToString().Trim(); this.MapearCodigosEan(entidad, bulto, pack); #endregion #region DatosOld if (entidad.DatosOld == null) { entidad.DatosOld = new DatosOldArticulo(); } entidad.DatosOld.Linea = this.BuscarEntidadPorCodigo <Linea>(registro["linea"].ToString().Trim()); entidad.DatosOld.Rubro = this.BuscarEntidadPorCodigo <Rubro>(registro["rubro"].ToString().Trim()); entidad.DatosOld.Clase = this.BuscarEntidadPorCodigo <Clase>(registro["clase"].ToString().Trim()); entidad.DatosOld.Division = this.BuscarEntidadPorCodigo <Division>(registro["divunilever"].ToString().Trim()); entidad.DatosOld.SKU = this.BuscarEntidadPorCodigo <SKU>(registro["sku"].ToString().Trim()); entidad.DatosOld.ArticuloEnvase = this.BuscarEntidadPorCodigo <Articulo>(registro["env_art"].ToString().Trim()); var minimovta = registro["minimovta"].ToString().Trim(); entidad.DatosOld.MinimoDeVenta = minimovta == "" ? 0 : Int32.Parse(minimovta); entidad.DatosOld.ContenidoPorUnidad = registro["contenido"].ToString().Trim(); entidad.DatosOld.ExcluirConvenioClienteZ = this.ObtenerBoolDeString(registro["exclu_tomadesc"].ToString().Trim()); entidad.DatosOld.NoValorizar = this.ObtenerBoolDeString(registro["novalorizar"].ToString().Trim()); entidad.DatosOld.ControlStock = this.ObtenerBoolDeString(registro["ctrl_stock"].ToString().Trim()); entidad.DatosOld.NoVenderPorPreventa = this.ObtenerBoolDeString(registro["nopreventa"].ToString().Trim()); entidad.DatosOld.ExclusivoMayorista = this.ObtenerBoolDeString(registro["exclu_ciers"].ToString().Trim()); entidad.DatosOld.NoIncluirEnPreventa = this.ObtenerBoolDeString(registro["preventa"].ToString().Trim()); entidad.DatosOld.NoRecibirPedidos = this.ObtenerBoolDeString(registro["continua"].ToString().Trim()); entidad.DatosOld.NoRecibirPedidosCadenas = this.ObtenerBoolDeString(registro["suspcad"].ToString().Trim()); entidad.DatosOld.NoRecibirPedidosInterior = this.ObtenerBoolDeString(registro["nopediint"].ToString().Trim()); entidad.DatosOld.BultosMasterEnBorrador = this.ObtenerBoolDeString(registro["prec_mpkg"].ToString().Trim()); entidad.DatosOld.PuedeComprar = this.ObtenerBoolDeString(registro["compra"].ToString().Trim()); entidad.DatosOld.PuedeVenderEnCadenas = this.ObtenerBoolDeString(registro["cadena"].ToString().Trim()); entidad.DatosOld.PedirREBA = this.ObtenerBoolDeString(registro["alcohol"].ToString().Trim()); entidad.DatosOld.MostrarEnListadoDeCriticos = this.ObtenerBoolDeString(registro["pesar"].ToString().Trim()); var margenPrev = registro["margen_prev"].ToString().Trim(); entidad.DatosOld.MargenPreventa = margenPrev == "" ? 0 : Decimal.Parse(margenPrev); var margenMay = registro["margen_may"].ToString().Trim(); entidad.DatosOld.MargenMayorista = margenMay == "" ? 0 : Decimal.Parse(margenMay); #endregion return(entidad); }