Files
MoonPro.net/MP-TAB/WebUserControls/cmp_displNumPzProd.ascx.cs
T
2020-11-26 09:40:12 +01:00

122 lines
3.3 KiB
C#

using MapoSDK;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MoonProTablet.WebUserControls
{
public partial class cmp_displNumPzProd : System.Web.UI.UserControl
{
#region Protected Fields
protected int nBlue = 0;
protected int nGray = 0;
protected int nGreen = 0;
protected int nYellow = 0;
#endregion Protected Fields
#region Public Properties
public prodCounter datiProd
{
set
{
// chiamo refresh e calcoli
updateDisplay(value);
}
}
public int numBlue
{
set
{
divBlue.Style.Remove("width");
divBlue.Style.Add("width", $"{value}%");
lblBlue.Text = $"{value}%";
}
}
public int numGray
{
set
{
divGray.Style.Remove("width");
divGray.Style.Add("width", $"{value}%");
lblGray.Text = $"{value}%";
}
}
public int numGreen
{
set
{
divGreen.Style.Remove("width");
divGreen.Style.Add("width", $"{value}%");
lblGreen.Text = $"{value}%";
}
}
public int numYellow
{
set
{
divYellow.Style.Remove("width");
divYellow.Style.Add("width", $"{value}%");
lblYellow.Text = $"{value}%";
}
}
#endregion Public Properties
#region Private Methods
private void updateDisplay(prodCounter countData)
{
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;
}
#endregion Private Methods
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
}
#endregion Protected Methods
}
}