@($"{NumGreen}%")
@($"{NumYellow}%")
@($"{NumGray}%")
@($"{NumBlue}%")
@code {
///
/// Conteggio dati produzione da mostrare
///
[Parameter]
public ProdCounter CountData { get; set; } = null!;
///
/// Numero pezzi CONFERMATI
///
protected int NumPzConf { get; set; } = 0;
///
/// Numero pezzi ORDINATI
///
protected int NumPzOrd { get; set; } = 0;
///
/// Numero pezzi PRODOTTI
///
protected int NumPzProd { get; set; } = 0;
///
/// Numero pezzi per display BLU
///
protected int NumBlue { get; set; } = 0;
///
/// Numero pezzi per display GRIGIO
///
protected int NumGray { get; set; } = 40;
///
/// Numero pezzi per display VERDE
///
protected int NumGreen { get; set; } = 20;
///
/// Numero pezzi per display GIALLO
///
protected int NumYellow { get; set; } = 30;
protected override void OnParametersSet()
{
decimal denom = CountData.numPzProd > CountData.numPzOrd ? (decimal)CountData.numPzProd / 100 : (decimal)CountData.numPzOrd / 100;
denom = denom == 0 ? 1 : denom;
// calcolo se sono nel caso prod < ordinati o se sono andato OVER
if (CountData.numPzProd < CountData.numPzOrd)
{
nGreen = (int)Math.Floor((decimal)CountData.numPzConf / denom);
nYellow = (int)Math.Floor((decimal)(CountData.numPzProd - CountData.numPzConf) / denom);
nGray = 100 - (nGreen + nYellow);
nBlue = 0;
}
else
{
// devo verificare SE ne ho confermati meno che ordinati o meno...
if (CountData.numPzConf < CountData.numPzOrd)
{
nGreen = (int)Math.Floor((decimal)CountData.numPzConf / denom);
}
else
{
nGreen = (int)Math.Floor((decimal)CountData.numPzOrd / denom);
}
nBlue = 100 - nGreen;
nYellow = 0;
nGray = 0;
}
// disegno!
NumGreen = nGreen;
NumYellow = nYellow;
NumGray = nGray;
NumBlue = nBlue;
// base.OnParametersSet();
}
protected int nBlue = 0;
protected int nGray = 0;
protected int nGreen = 0;
protected int nYellow = 0;
///
/// Classe gesitone conteggi produzione
///
public class ProdCounter
{
///
/// NUmero pezzi CONFERMATI
///
public int numPzConf { get; set; } = 0;
///
/// Numero pezzi ORDINATI
///
public int numPzOrd { get; set; } = 0;
///
/// Numero pezzi PRODOTTI
///
public int numPzProd { get; set; } = 0;
}
}