예제 #1
0
        static List<ordenCompraReporte> agregarParaListaSinRepetir(List<ordenCompraReporte> Lista, ordenCompraReporte temp)
        {
            List<ordenCompraReporte> retorno = new List<ordenCompraReporte>();
            bool encontrado = false;

            for (int i = 0; i < Lista.Count; i++)
            {
                if (Lista[i].unidad.Equals(temp.unidad) && Lista[i].precio.Equals(temp.precio) && Lista[i].detalle.Equals(temp.detalle))
                {
                    encontrado = true;

                    Lista[i].cantidad = (int.Parse(Lista[i].cantidad) + int.Parse(temp.cantidad)).ToString();
                    Lista[i].montoTotal = (int.Parse(Lista[i].cantidad) * int.Parse(Lista[i].precio)).ToString();
                }
                retorno.Add(Lista[i]);
            }
            if (!encontrado) {
                retorno.Add(temp);
            }

            return retorno;
        }
예제 #2
0
        public static List<ordenCompraReporte> convertirEnDatosOrdenCompraReporte(orden_compra ordenCompra)
        {
            List<ordenCompraReporte> retorno = new List<ordenCompraReporte>();

            datosEmpresa DatosEmpresa = datosEmpresa.obtenerDatos();

            List<detalle_ordencompra> detalle = detalle_ordencompra.obtenerTodas(ordenCompra.numero_orden);
            nota notaOrden = nota.obtenerNota(ordenCompra.numero_orden);
            usointerno_oc usoInterno = usointerno_oc.obtenerUsointerno(ordenCompra.numero_orden);

            proveedores proveedor = new proveedores().getProveedor(ordenCompra.id_proveedor);

                //Para cada item del detalle se crea un elemento
            for (int i = 0; i < detalle.Count; i++)
            {
                ordenCompraReporte temp = new ordenCompraReporte();

                temp.numeroOrdenCompra = ordenCompra.numero_orden;
                temp.fecha = ordenCompra.fecha;

                temp.rutEmpresa = DatosEmpresa.rut;
                temp.giroEmpresa = DatosEmpresa.giro;
                temp.direccionEmpresa = DatosEmpresa.direccion;
                temp.telefonoEmpresa = DatosEmpresa.telefono;
                temp.correoEmpresa = DatosEmpresa.correo;

                temp.nombreEmpresaPara = ordenCompra.id_proveedor;
                temp.rutEmpresaPara = proveedor.rut;
                temp.giroEmpresaPara = proveedor.razonsocial;
                temp.direccionEmpresaPara = proveedor.direccion;
                temp.telefonoEmpresaPara = proveedor.telefono;

                temp.cantidad = detalle[i].cantidad_item.ToString();
                temp.unidad = detalle[i].unidad;
                temp.detalle = detalle[i].id_item;
                temp.precio = "$" + new formatearString().valoresPesos(detalle[i].precio_unitario.ToString());
                temp.montoTotal = "$" + new formatearString().valoresPesos((detalle[i].precio_unitario * detalle[i].cantidad_item).ToString());

                temp.subtotal = "$" + new formatearString().valoresPesos(ordenCompra.sub_total);
                temp.iva = "$" + new formatearString().valoresPesos(ordenCompra.iva);
                temp.totalPagar = "$" + new formatearString().valoresPesos(ordenCompra.total);

                //Nota
                temp.sirvaseEntregar = notaOrden.donde;
                temp.direccionEntregar = notaOrden.dir_entrega;
                temp.transporteCuentaEntregar = notaOrden.transporte;
                temp.formaPagoEntregar = notaOrden.cuenta;
                temp.plazoEntregaEntregar = notaOrden.plazo_entrega;

                //Uso Interno
                temp.nombreObraUsoInterno = usoInterno.faena;
                temp.comunaUsoInterno = usoInterno.comuna;
                temp.observacionesUsoInterno = usoInterno.observacion;
                temp.emRevisadoPorUsoInterno = usuarios.obtenerUsuario(usoInterno.revisadoPor).nombreCompleto;

                temp.item = usoInterno.item;
                temp.presupuesto = usoInterno.presupuesto;
                temp.OC = usoInterno.oc;
                temp.saldo = usoInterno.saldo;

                temp.observacion = ordenCompra.observacion;
                if (ordenCompra.esReeemplazada())
                {
                    temp.reemplazada = "true";
                    temp.numeroReemplaza = ordenCompra.obtenerNumeroOrdenQueReemplaza();
                }
                else
                {
                    temp.reemplazada = "false";
                }

                if (ordenCompra.reemplaza())
                {
                    temp.reemplaza = "true";
                    temp.numeroReemplazada = ordenCompra.obtenerNumeroOrdenReemplazada();
                }
                else
                {
                    temp.reemplaza = "false";
                }

                retorno = agregarParaListaSinRepetir(retorno, temp);
            }

            return retorno;
        }