private FacturasLinModel ConvertILineaImportarToPedidoLinModel(int idlinea, ILineaImportar linea) { var idalbaran = Funciones.Qint(linea.Fkdocumento); var albaran = _db.Albaranes.SingleOrDefault( f => f.empresa == Empresa && f.id == idalbaran); var metros = Math.Round(linea.Metros, linea.Decimalesmedidas); var precio = Math.Round(linea.Precio, linea.Decimalesmonedas); var bruto = metros * precio; var cuotadescuento = Math.Round(bruto * linea.Porcentajedescuento / 100.0, linea.Decimalesmonedas); var baseimpo = bruto - cuotadescuento; return(new FacturasLinModel() { Cantidadpedida = 0, Id = idlinea, Ancho = linea.Ancho, Canal = linea.Canal, Cantidad = linea.Cantidad, Cuotaiva = linea.Cuotaiva, Cuotarecargoequivalencia = linea.Cuotarecargoequivalencia, Decimalesmedidas = linea.Decimalesmedidas, Decimalesmonedas = linea.Decimalesmonedas, Fkregimeniva = linea.Fkregimeniva, Fkunidades = linea.Fkunidades, Metros = metros, Precio = precio, Fkarticulos = linea.Fkarticulos, Descripcion = linea.Descripcion, Fktiposiva = linea.Fktiposiva, Grueso = linea.Grueso, Importe = baseimpo, Importedescuento = cuotadescuento, Largo = linea.Largo, Lote = linea.Lote, Notas = linea.Notas, Porcentajedescuento = linea.Porcentajedescuento, Porcentajeiva = linea.Porcentajeiva, Porcentajerecargoequivalencia = linea.Porcentajerecargoequivalencia, Precioanterior = linea.Precioanterior, Revision = linea.Revision, Tabla = linea.Tabla, Fkalbaranes = idalbaran, Fkalbaranesfecha = albaran?.fechadocumento, Fkalbaranesreferencia = albaran?.referencia, Fkalbaranesfkcriteriosagrupacion = albaran?.fkcriteriosagrupacion, Orden = linea.Orden ?? 0, Contenedor = linea.Contenedor, Sello = linea.Sello, Caja = linea.Caja, Pesoneto = linea.Pesoneto }); }
public ILineaImportar ImportarLinea(ILineaImportar model) { var articuloObj = _serviceArticulos.get(model.Fkarticulos) as ArticulosModel; var unidadesObj = _serviceUnidades.get(articuloObj.Fkunidades) as UnidadesModel; model.Metros = UnidadesService.CalculaResultado(unidadesObj, model.Cantidad, model.Largo ?? 0, model.Ancho ?? 0, model.Grueso ?? 0, model.Metros); model.Importe = model.Metros * model.Precio; return(model); }
private AlbaranesLinModel ConvertILineaImportarToPedidoLinModel(int Id, ILineaImportar linea) { var result = _importarService.ImportarLinea(linea); return(new AlbaranesLinModel() { Cantidadpedida = 0, Id = Id, Ancho = result.Ancho, Canal = result.Canal, Cantidad = result.Cantidad, Cuotaiva = result.Cuotaiva, Cuotarecargoequivalencia = result.Cuotarecargoequivalencia, Decimalesmedidas = result.Decimalesmedidas, Decimalesmonedas = result.Decimalesmonedas, Descripcion = result.Descripcion, Fkregimeniva = result.Fkregimeniva, Fkunidades = result.Fkunidades, Metros = result.Metros, Precio = result.Precio, Fkarticulos = result.Fkarticulos, Fktiposiva = result.Fktiposiva, Grueso = result.Grueso, Importe = result.Importe, Importedescuento = result.Importedescuento, Largo = result.Largo, Lote = result.Lote, Notas = result.Notas, Porcentajedescuento = result.Porcentajedescuento, Porcentajeiva = result.Porcentajeiva, Porcentajerecargoequivalencia = result.Porcentajerecargoequivalencia, Precioanterior = result.Precioanterior, Revision = result.Revision, Tabla = result.Tabla, Fkpedidos = Funciones.Qint(result.Fkdocumento), Fkpedidosid = Funciones.Qint(result.Fkdocumentoid), Fkpedidosreferencia = result.Fkdocumentoreferencia, Orden = result.Orden ?? 0 }); }
private void EditarLineaImportar(ILineaImportar item, AlbaranesLinModel linea, CriteriosagrupacionModel agrupacion) { item.Cantidad += linea.Cantidad ?? 0; item.Metros += linea.Metros ?? 0; item.Importe += linea.Importe ?? 0; item.Importedescuento += linea.Importedescuento ?? 0; item.Cuotaiva += linea.Cuotaiva ?? 0; item.Cuotarecargoequivalencia += linea.Cuotarecargoequivalencia ?? 0; if (!agrupacion.Lineas.Any(f => f.Campoenum == CamposAgrupacionAlbaran.Largo)) { item.Largo = item.Largo == linea.Largo ? item.Largo : 0; } if (!agrupacion.Lineas.Any(f => f.Campoenum == CamposAgrupacionAlbaran.Ancho)) { item.Ancho = item.Ancho == linea.Ancho ? item.Ancho : 0; } if (!agrupacion.Lineas.Any(f => f.Campoenum == CamposAgrupacionAlbaran.Grueso)) { item.Grueso = item.Grueso == linea.Grueso ? item.Grueso : 0; } }