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 } }