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);
        }
Esempio n. 3
0
        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
            });
        }
Esempio n. 4
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;
            }
        }