public Servicios.DTO.Proveedores.OrdenDeCompra EntidadToDto(Modelo.Proveedores.OrdenDeCompra entidad, Servicios.DTO.Proveedores.OrdenDeCompra dto,List<Articulo> articulos,ObjetivosDeCompra objetivos) { var plantilla = this.cargarPlantilla(entidad.Proveedor.Id); dto.Id = entidad.Id; dto.Nombre = entidad.Nombre; dto.Codigo = entidad.Codigo; dto.CondicionDePago = Mapeador.Instancia.EntidadToDto<Modelo.Proveedores.CondicionDePagoProveedor, Servicios.DTO.Proveedores.CondicionDePagoProveedor>(entidad.CondicionDePago); dto.Deposito = Mapeador.Instancia.EntidadToDto<Inteldev.Core.Modelo.Stock.Deposito, Inteldev.Core.DTO.Stock.Deposito>(entidad.Deposito); dto.Estado = Mapeador.Instancia.EntidadToDto<Modelo.Proveedores.EstadoOrdenDeCompra, Servicios.DTO.Proveedores.EstadoOrdenDeCompra>(entidad.Estado); dto.FechaEntrega = entidad.FechaEntrega; dto.ImporteFinal = entidad.ImporteFinal; dto.Marca = Mapeador.Instancia.EntidadToDto<Modelo.Articulos.Marca, Servicios.DTO.Articulos.Marca>(entidad.Marca); dto.TipoOrden = Mapeador.Instancia.EntidadToDto<Modelo.Proveedores.TipoOrden, Servicios.DTO.Proveedores.TipoOrden>(entidad.TipoOrden); dto.TotalBultos = entidad.TotalBultos; dto.Proveedor = Mapeador.Instancia.EntidadToDto<Modelo.Proveedores.Proveedor, Servicios.DTO.Proveedores.Proveedor>(entidad.Proveedor); dto.ListaDePrecios = Mapeador.Instancia.EntidadToDto<Modelo.Proveedores.ListaDePrecios, Servicios.DTO.Proveedores.ListaDePrecios>(entidad.ListaDePrecios); if (plantilla != null) { dto.Columnas = this.getColumnas(plantilla); dto.Detalle = this.crearDataTable(plantilla); this.cargarDataTable(dto.Detalle, entidad, articulos, objetivos); } if (dto.Id != 0) { foreach (DataRow row in dto.Detalle.Rows) { var neto = (int)row["Cantidad"]; if (neto != 0) row.SetModified(); } } return dto; }
public Servicios.DTO.Proveedores.OrdenDeCompra EntidadToDto(Modelo.Proveedores.OrdenDeCompra entidad, List<Articulo> articulos, ObjetivosDeCompra objetivos) { var listaDto = new Servicios.DTO.Proveedores.OrdenDeCompra(); return this.EntidadToDto(entidad, listaDto,articulos, objetivos); }
private void cargarDataTable(DataTable tabla, Modelo.Proveedores.OrdenDeCompra entidad, List<Articulo> articulos, ObjetivosDeCompra objetivos) { ParameterOverride[] parameters = { new ParameterOverride("empresa", empresa), new ParameterOverride("entidad", entidad) }; var db = (IDataSwitch<OrdenDeCompra>)FabricaNegocios.Instancia.Resolver(typeof(IDataSwitch<OrdenDeCompra>),parameters); var lista = entidad.ListaDePrecios; string no = "No"; var resultado = from a in articulos join l in lista.Detalle on a.Id equals l.ArticuloId into aa join u in entidad.Detalle on a.Id equals u.ArticuloId into cc join h in objetivos.Objetivos on a.Id equals h.Articulo.Id into ee from bb in aa.DefaultIfEmpty(new Modelo.Proveedores.ListaDePreciosDetalle()) from dd in cc.DefaultIfEmpty(new Modelo.Proveedores.OrdenDeCompraDetalle()) from ff in ee.DefaultIfEmpty(new Modelo.Proveedores.Objetivos()) select new { dd.Cantidad, Articulo = a.Id, Descripcion = a.Nombre, Bultos = ff.Bultos, DescuentoPotencial = ff.Descuento, DescuentoAplicado = no, bb.Neto, bb.Iva, bb.ImpInterno, bb.Costo, bb.Final, bb.Columnas }; var columnas = tabla.Columns; foreach (var item in resultado) { var row = tabla.NewRow(); foreach (DataColumn columna in columnas) { var prop = item.GetType().GetProperty(columna.ColumnName); object valor = null; if (prop == null) { if (item.Columnas.Any()) { var result = item.Columnas.Where(c => c.Nombre == columna.ColumnName).FirstOrDefault(); if(result != null) valor = result.Valor; } else valor = 0; } else { valor = prop.GetValue(item); } if (valor != null) { row[columna.ColumnName] = valor; } else { if (columna.DataType.Equals(typeof(int)) || columna.DataType.Equals(typeof(decimal))) { row[columna.ColumnName] = 0; } } } tabla.Rows.Add(row); } foreach (DataRow row in tabla.Rows) { row.AcceptChanges(); } }