internal static List <OrdenDeCompraGeneral> Todos(DateTime inicio, DateTime termino, string estado)
        {
            DateTime Termino = termino;
            DateTime temp    = termino;

            while (temp.Day == termino.Day)
            {
                Termino = temp;
                temp    = temp.AddMinutes(1);
            }

            List <OrdenDeCompraGeneral> retorno = new List <OrdenDeCompraGeneral>();

            if (estado.Equals("TODOS"))
            {
                retorno = new RentaMaq.DAL.Context().ordenesDeCompra.Where(s => s.Fecha >= inicio && s.Fecha <= Termino).ToList();
            }
            else if (estado.Equals("PENDIENTES"))
            {
                retorno = OrdenDeCompraGeneral.obtenerPendientes().Where(s => s.Fecha >= inicio && s.Fecha <= Termino).ToList();
            }
            else
            {
                retorno = new RentaMaq.DAL.Context().ordenesDeCompra.Where(s => s.Fecha >= inicio && s.Fecha <= Termino && s.estado == estado).ToList();
            }

            foreach (OrdenDeCompraGeneral OC in retorno)
            {
                OC.ProveedorID = OrdenDeCompraGeneral.obtenerProveedor(OC.OrdenDeCompraGeneralID);
            }

            return(retorno);
        }
        private List <int> obtenerProveedores()
        {
            List <int> retorno = new List <int>();

            Context db          = new Context();
            string  numeroParte = db.Productos.Find(this.ProductoID).numeroDeParte;

            List <DetalleOrdenCompra> detalleOC =
                db.detalleOrdenCompra.Where(s => s.codigoInternoRentamaq == numeroParte).ToList();

            foreach (DetalleOrdenCompra det in detalleOC)
            {
                OrdenDeCompraGeneral OC = OrdenDeCompraGeneral.obtener(det.IDOrdenCompra);
                if (OC.estado == "ENTREGADA")
                {
                    int idProveedor = OC.ProveedorID.ProveedorID;
                    if (!retorno.Contains(idProveedor))
                    {
                        retorno.Add(idProveedor);
                    }
                }
            }

            return(retorno);
        }
        internal static OrdenDeCompraGeneral obtener(int?id)
        {
            RentaMaq.DAL.Context db      = new RentaMaq.DAL.Context();
            OrdenDeCompraGeneral retorno = db.ordenesDeCompra.Find(id);

            retorno.ProveedorID = obtenerProveedor(retorno.OrdenDeCompraGeneralID);
            return(retorno);
        }
示例#4
0
        public static List <IndicadoresProdProvReporte> convertirIndicadoresMontoEnReporte(List <MontoCompraOrdenCompra> datosEntrada)
        {
            Context db = new Context();
            List <IndicadoresProdProvReporte> retorno = new List <IndicadoresProdProvReporte>();

            foreach (MontoCompraOrdenCompra dato in datosEntrada)
            {
                IndicadoresProdProvReporte temp = new IndicadoresProdProvReporte();
                temp.nombreProveedor      = db.Proveedores.Find(dato.ProveedorID).nombreProveedor;
                temp.nombreProducto       = "SIN DATOS";
                temp.tiempoMedioRespuesta = "SIN DATOS";
                temp.montoTotalCompras    = dato.montoCompra.ToString();
                temp.montoPromedioCompras = "SIN DATOS";

                OrdenDeCompraGeneral OC = OrdenDeCompraGeneral.obtener(dato.IDOrdenCompra);

                temp.numeroOrdenDeCompras = OC.numeroOC + "/" + OC.añoOC;
                temp.fechaOrdenDeCompras  = formatearString.fechaSinHoraDiaPrimero(OC.Fecha);

                retorno.Add(temp);
            }
            return(retorno);
        }
        public static List <OrdenDeCompraGeneral> obtenerPendientes()
        {
            List <OrdenDeCompraGeneral> retorno = new List <OrdenDeCompraGeneral>();

            SqlConnection con = conexion.crearConexion();

            con.Open();

            using (SqlCommand command = new SqlCommand("SELECT DISTINCT(IDOrdenCompra) "
                                                       + "FROM DetalleOrdenCompra, DetalleEntregaOrdenCompraGeneral "
                                                       + "WHERE DetalleEntregaOrdenCompraGeneral.DetalleOrdenCompraID=DetalleOrdenCompra.DetalleOrdenCompraID "
                                                       + "AND CantidadEntregada<cantidad", con))
            {
                using (SqlDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        retorno.Add(OrdenDeCompraGeneral.obtener(int.Parse(reader[0].ToString())));
                    }
                }
            }
            con.Close();
            return(retorno);
        }
        public static List <OrdenDeCompraGeneralReporte> pasarADatosReporte(OrdenDeCompraGeneral OC)
        {
            List <DetalleOrdenCompra> detalle = new RentaMaq.DAL.Context().detalleOrdenCompra.Where(s => s.IDOrdenCompra == OC.OrdenDeCompraGeneralID).ToList();

            List <OrdenDeCompraGeneralReporte> retorno = new List <OrdenDeCompraGeneralReporte>();

            for (int i = 0; i < detalle.Count; i++)
            {
                OrdenDeCompraGeneralReporte nueva = new OrdenDeCompraGeneralReporte();

                /*
                 * string dia = OC.FechaVigencia.Day.ToString();
                 * if (dia.Length == 1) dia = "0" + dia;
                 * string mes = OC.FechaVigencia.Month.ToString();
                 * if (mes.Length == 1) mes = "0" + mes;
                 * nueva.FechaVigencia = OC.FechaVigencia.Day + "/" + OC.FechaVigencia.Month + "/" + OC.FechaVigencia.Year;
                 * nueva.NumeroEdicion = OC.NumeroEdicion.ToString();
                 * nueva.Codigo = OC.Codigo;
                 * //*/
                nueva.NumeroOC        = OC.numeroOC.ToString();
                nueva.AñoOC           = OC.añoOC.ToString();
                nueva.NombreProveedor = OC.ProveedorID.nombreProveedor;
                if (string.IsNullOrEmpty(OC.ProveedorID.rut))
                {
                    nueva.RutProveedor = "";
                }
                else
                {
                    nueva.RutProveedor = formatearString.formatoRut(OC.ProveedorID.rut);
                }

                if (string.IsNullOrEmpty(OC.ProveedorID.domicilio))
                {
                    nueva.DomicilioProveedor = OC.ProveedorID.domicilio;
                }
                else
                {
                    nueva.DomicilioProveedor = OC.ProveedorID.domicilio;
                }

                string dia = OC.Fecha.Day.ToString();
                if (dia.Length == 1)
                {
                    dia = "0" + dia;
                }
                string mes = OC.Fecha.Month.ToString();
                if (mes.Length == 1)
                {
                    mes = "0" + mes;
                }
                nueva.Fecha           = dia + "/" + mes + "/" + OC.Fecha.Year;
                nueva.AtencionA       = OC.atencionA;
                nueva.texto           = OC.texto;
                nueva.NumeroItem      = (i + 1).ToString();
                nueva.CodigoItem      = detalle[i].codigo;
                nueva.CantidadItem    = detalle[i].cantidad.ToString();
                nueva.DescripcionItem = detalle[i].descripcion;

                if (detalle[i].tipoDeCompra.Equals("Compra Directa"))
                {
                    nueva.CodigoInternoItem = equipos.Obtener(int.Parse(detalle[i].codigoInternoRentamaq)).numeroAFI;
                }
                else
                {
                    nueva.CodigoInternoItem = detalle[i].codigoInternoRentamaq;
                }


                nueva.PlazoEntregaItem   = detalle[i].plazoEntrega.ToString();
                nueva.PrecioUnitarioItem = detalle[i].precioUnitario.ToString();
                nueva.DescuentoItem      = detalle[i].descuento.ToString();
                nueva.ValorTotalItem     = detalle[i].valorTotal.ToString();
                dia = OC.fechaEntrega.Day.ToString();
                if (dia.Length == 1)
                {
                    dia = "0" + dia;
                }
                mes = OC.fechaEntrega.Month.ToString();
                if (mes.Length == 1)
                {
                    mes = "0" + mes;
                }
                nueva.FechaEntrega = dia + "/" + mes + "/" + OC.fechaEntrega.Year;
                nueva.FormaRetiro  = OC.formaRetiro;
                nueva.FormaPago    = OC.formaPago.ToString();
                nueva.Subtotal     = formatearString.valores_Pesos(OC.subtotal.ToString());
                nueva.Miscelaneos  = formatearString.valores_Pesos(OC.miscelaneos.ToString());
                nueva.TotalNeto    = formatearString.valores_Pesos(OC.totalNeto.ToString());
                nueva.IVA          = formatearString.valores_Pesos(OC.IVA.ToString());
                nueva.Total        = formatearString.valores_Pesos(OC.total.ToString());

                retorno.Add(nueva);
            }
            return(retorno);
        }
        public static List<OrdenDeCompraGeneralReporte> pasarADatosReporte(OrdenDeCompraGeneral OC)
        {
            List<DetalleOrdenCompra> detalle = new RentaMaq.DAL.Context().detalleOrdenCompra.Where(s => s.IDOrdenCompra == OC.OrdenDeCompraGeneralID).ToList();

            List<OrdenDeCompraGeneralReporte> retorno = new List<OrdenDeCompraGeneralReporte>();

            for (int i = 0; i < detalle.Count; i++)
            {
                OrdenDeCompraGeneralReporte nueva = new OrdenDeCompraGeneralReporte();
                /*
                string dia = OC.FechaVigencia.Day.ToString();
                if (dia.Length == 1) dia = "0" + dia;
                string mes = OC.FechaVigencia.Month.ToString();
                if (mes.Length == 1) mes = "0" + mes;
                nueva.FechaVigencia = OC.FechaVigencia.Day + "/" + OC.FechaVigencia.Month + "/" + OC.FechaVigencia.Year;
                nueva.NumeroEdicion = OC.NumeroEdicion.ToString();
                nueva.Codigo = OC.Codigo;
                //*/
                nueva.NumeroOC = OC.numeroOC.ToString();
                nueva.AñoOC = OC.añoOC.ToString();
                nueva.NombreProveedor = OC.ProveedorID.nombreProveedor;
                if (string.IsNullOrEmpty(OC.ProveedorID.rut))
                {
                    nueva.RutProveedor = "";
                }
                else
                {
                    nueva.RutProveedor = formatearString.formatoRut(OC.ProveedorID.rut);
                }

                if (string.IsNullOrEmpty(OC.ProveedorID.domicilio))
                {
                    nueva.DomicilioProveedor = OC.ProveedorID.domicilio;
                }
                else
                {
                    nueva.DomicilioProveedor = OC.ProveedorID.domicilio;
                }

                string dia = OC.Fecha.Day.ToString();
                if (dia.Length == 1) dia = "0" + dia;
                string mes = OC.Fecha.Month.ToString();
                if (mes.Length == 1) mes = "0" + mes;
                nueva.Fecha = dia + "/" + mes + "/" + OC.Fecha.Year;
                nueva.AtencionA = OC.atencionA;
                nueva.texto = OC.texto;
                nueva.NumeroItem = (i + 1).ToString();
                nueva.CodigoItem = detalle[i].codigo;
                nueva.CantidadItem = detalle[i].cantidad.ToString();
                nueva.DescripcionItem = detalle[i].descripcion;

                if (detalle[i].tipoDeCompra.Equals("Compra Directa"))
                {
                    nueva.CodigoInternoItem = equipos.Obtener(int.Parse(detalle[i].codigoInternoRentamaq)).numeroAFI;
                }
                else
                {
                    nueva.CodigoInternoItem = detalle[i].codigoInternoRentamaq;
                }


                nueva.PlazoEntregaItem = detalle[i].plazoEntrega.ToString();
                nueva.PrecioUnitarioItem = detalle[i].precioUnitario.ToString();
                nueva.DescuentoItem = detalle[i].descuento.ToString();
                nueva.ValorTotalItem = detalle[i].valorTotal.ToString();
                dia = OC.fechaEntrega.Day.ToString();
                if (dia.Length == 1) dia = "0" + dia;
                mes = OC.fechaEntrega.Month.ToString();
                if (mes.Length == 1) mes = "0" + mes;
                nueva.FechaEntrega = dia + "/" + mes + "/" + OC.fechaEntrega.Year;
                nueva.FormaRetiro = OC.formaRetiro;
                nueva.FormaPago = OC.formaPago.ToString();
                nueva.Subtotal = formatearString.valores_Pesos(OC.subtotal.ToString());
                nueva.Miscelaneos = formatearString.valores_Pesos(OC.miscelaneos.ToString());
                nueva.TotalNeto = formatearString.valores_Pesos(OC.totalNeto.ToString());
                nueva.IVA = formatearString.valores_Pesos(OC.IVA.ToString());
                nueva.Total = formatearString.valores_Pesos(OC.total.ToString());

                retorno.Add(nueva);
            }
            return retorno;
        }