public IndicadoresClaveProveedor(int proveedorID) { this.ProveedorID = proveedorID; this.promedioOCArriendoEquipo = 0; /*1.- Obtenemos el tiempo medio de respuesta:*/ //Se obtienen los códigos de todos los productos comprados: List<int> IDsProductos = this.obtenerProductos(); //Se obtienen los datos de tiempo de respuesta para cada producto: tiemposRespuestaProducto = new List<tiempoRespuestaProducto>(); foreach (int idProducto in IDsProductos) { tiemposRespuestaProducto.Add(new tiempoRespuestaProducto(this.ProveedorID, idProducto)); } //Se obtiene el tiempo promedio de respuesta foreach (tiempoRespuestaProducto TR in tiemposRespuestaProducto) { this.tiempoMedioRespuesta = TR.tiempoPromedioRespuesta; } if (tiemposRespuestaProducto.Count > 0) this.tiempoMedioRespuesta /= tiemposRespuestaProducto.Count; /*2.- Obtenemos el monto total de compras y el promedio de compras por orden de compra*/ //Obtenemos los ID de ordenes de compra en que ha participado el proveedor y que han sido entregadas List<int> IDsOrdenesCompra = obtenerIDsOrdenesCompra(); this.montosCompra = new List<MontoCompraOrdenCompra>(); foreach (int IDOrdenCompra in IDsOrdenesCompra) { this.montosCompra.Add(new MontoCompraOrdenCompra(this.ProveedorID,IDOrdenCompra)); } //Se calcula el monto total de compras foreach (MontoCompraOrdenCompra montoOC in this.montosCompra) { this.montoTotalCompras += montoOC.montoCompra; } //Se obtiene el monto promedio de compras this.promedioComprasPorOC = this.montoTotalCompras / montosCompra.Count; Context db = new Context(); List<ordenDeCompraArriendoEquipo> listaOCArriendoEquipo = db.ordenDeCompraArriendoEquipoes.Where(s=>s.ProveedorID==ProveedorID & s.estado=="ENTREGADA").ToList(); tiemposRespuestaEquipo = new List<tiempoRespuestaEquipo>(); int cantidadOCArriendoEquipo=0; foreach(ordenDeCompraArriendoEquipo OC in listaOCArriendoEquipo){ tiempoRespuestaEquipo tiempoRespuestaEquipo = new tiempoRespuestaEquipo(ProveedorID,OC); promedioOCArriendoEquipo += tiempoRespuestaEquipo.tiempoRespuesta; tiemposRespuestaEquipo.Add(tiempoRespuestaEquipo); cantidadOCArriendoEquipo++; } if(cantidadOCArriendoEquipo>0){ promedioOCArriendoEquipo = promedioOCArriendoEquipo/cantidadOCArriendoEquipo; } }
public IndicadoresClaveProveedor(int proveedorID) { this.ProveedorID = proveedorID; this.promedioOCArriendoEquipo = 0; /*1.- Obtenemos el tiempo medio de respuesta:*/ //Se obtienen los códigos de todos los productos comprados: List <int> IDsProductos = this.obtenerProductos(); //Se obtienen los datos de tiempo de respuesta para cada producto: tiemposRespuestaProducto = new List <tiempoRespuestaProducto>(); foreach (int idProducto in IDsProductos) { tiemposRespuestaProducto.Add(new tiempoRespuestaProducto(this.ProveedorID, idProducto)); } //Se obtiene el tiempo promedio de respuesta foreach (tiempoRespuestaProducto TR in tiemposRespuestaProducto) { this.tiempoMedioRespuesta = TR.tiempoPromedioRespuesta; } if (tiemposRespuestaProducto.Count > 0) { this.tiempoMedioRespuesta /= tiemposRespuestaProducto.Count; } /*2.- Obtenemos el monto total de compras y el promedio de compras por orden de compra*/ //Obtenemos los ID de ordenes de compra en que ha participado el proveedor y que han sido entregadas List <int> IDsOrdenesCompra = obtenerIDsOrdenesCompra(); this.montosCompra = new List <MontoCompraOrdenCompra>(); foreach (int IDOrdenCompra in IDsOrdenesCompra) { this.montosCompra.Add(new MontoCompraOrdenCompra(this.ProveedorID, IDOrdenCompra)); } //Se calcula el monto total de compras foreach (MontoCompraOrdenCompra montoOC in this.montosCompra) { this.montoTotalCompras += montoOC.montoCompra; } //Se obtiene el monto promedio de compras this.promedioComprasPorOC = this.montoTotalCompras / montosCompra.Count; Context db = new Context(); List <ordenDeCompraArriendoEquipo> listaOCArriendoEquipo = db.ordenDeCompraArriendoEquipoes.Where(s => s.ProveedorID == ProveedorID & s.estado == "ENTREGADA").ToList(); tiemposRespuestaEquipo = new List <tiempoRespuestaEquipo>(); int cantidadOCArriendoEquipo = 0; foreach (ordenDeCompraArriendoEquipo OC in listaOCArriendoEquipo) { tiempoRespuestaEquipo tiempoRespuestaEquipo = new tiempoRespuestaEquipo(ProveedorID, OC); promedioOCArriendoEquipo += tiempoRespuestaEquipo.tiempoRespuesta; tiemposRespuestaEquipo.Add(tiempoRespuestaEquipo); cantidadOCArriendoEquipo++; } if (cantidadOCArriendoEquipo > 0) { promedioOCArriendoEquipo = promedioOCArriendoEquipo / cantidadOCArriendoEquipo; } }