using AppData; using System; using System.Linq; using System.Web.UI; using System.Web.UI.WebControls; namespace NKC_WF.WebUserControls { public partial class cmp_kitReqSched : BaseUserControl { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { fixSchedOrd(); } } protected int numRows { get { int answ = 0; int.TryParse(hfNumRows.Value, out answ); return answ; } set { hfNumRows.Value = value.ToString(); } } private void fixSchedOrd() { numRows = DataLayer.man.taPL.getToSchedule().Count * 10; DataLayer.man.taPL.fixSched(); } protected void lbtUp_Click(object sender, EventArgs e) { int PackListId = 0; LinkButton lbtBtn = (LinkButton)sender; if (lbtBtn != null) { int.TryParse(lbtBtn.CommandArgument, out PackListId); moveBatch(PackListId, -15); } } protected void lbtDown_Click(object sender, EventArgs e) { int PackListId = 0; LinkButton lbtBtn = (LinkButton)sender; if (lbtBtn != null) { int.TryParse(lbtBtn.CommandArgument, out PackListId); moveBatch(PackListId, 15); } } protected void lbtStartJob_Click(object sender, EventArgs e) { int PackListId = 0; LinkButton lbtBtn = (LinkButton)sender; if (lbtBtn != null) { int.TryParse(lbtBtn.CommandArgument, out PackListId); // avvio il job selezionato e indico status running DataLayer.man.taPL.updateSchedPrior(PackListId, -10); DataLayer.man.taPL.updateStatus(PackListId, 3); // fix grafico! doRefresh(); raiseEvent(); } } private void moveBatch(int PackListId, int step) { // aggiorno DataLayer.man.taPL.updateSchedPrior(PackListId, step); doRefresh(); } private void doRefresh() { // ricalcolo fixSchedOrd(); grView.SelectedIndex = -1; grView.DataBind(); lblTitle.Focus(); } /// /// Verifica visibilità da posizione /// /// first/last /// num priorità attuale /// public bool checkVisible(string mode, object currPrior) { bool answ = true; int numPrior = 0; int.TryParse(currPrior.ToString(), out numPrior); if (mode == "first") { answ = (numPrior != 10); } else { answ = (numPrior != numRows); } return answ; } /// /// Verifica visibilità da posizione /// /// first/last /// num priorità attuale /// public bool checkStartEnabled(string mode, object currPrior) { bool answ = false; // start enabled: ha 2 condizioni: (1) che sia FALSO checkVisible if (!checkVisible(mode, currPrior)) { // (2) che running siano zero, answ = DataLayer.man.taPL.getRunning().Count == 0; } return answ; } } }