using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace MP_MAG.WebUserControls { public partial class cmp_packList : BaseUserControl { #region Public Properties public string CodCliente { get { return hfCodCli.Value.Trim(); } set { hfCodCli.Value = $"{value}"; doUpdate(); } } public int PackListID { get { int answ = 0; if (grView.SelectedValue != null) { int.TryParse(grView.SelectedValue.ToString(), out answ); } return answ; } } /// /// Status della packList corrente /// public int PackListStatus { get { int answ = -1; if (PackListID > 0) { var tabPackList = MagData.MagDataLayer.man.taPList.getByKey(PackListID); if (tabPackList != null && tabPackList.Count > 0) { answ = tabPackList[0].PackStatus; } } return answ; } } #endregion Public Properties #region Private Methods private void Cmp_numRow_eh_doRefresh(object sender, EventArgs e) { grView.PageSize = cmp_numRow.numRow; } private void showAction(bool showAction) { // calcolo cosa mostro da status corrente lbtSendPack.CssClass = "btn w-100 btn-outline-secondary disabled"; lbtSetDraft.CssClass = "btn w-100 btn-outline-secondary disabled"; lbtSplitSped.CssClass = "btn w-100 btn-outline-secondary disabled"; lbtSetRequest.CssClass = "btn w-100 btn-outline-secondary disabled"; if (showAction) { int currStatus = PackListStatus; if (currStatus >= 0) { switch (currStatus) { case 0: lbtSetRequest.CssClass = "btn w-100 btn-success"; break; case 1: lbtSetDraft.CssClass = "btn w-100 btn-info"; break; case 2: lbtSetDraft.CssClass = "btn w-100 btn-info"; lbtSplitSped.CssClass = "btn w-100 btn-warning"; break; case 3: lbtSetDraft.CssClass = "btn w-100 btn-info"; lbtSendPack.CssClass = "btn w-100 btn-warning"; break; default: break; } } } } #endregion Private Methods #region Protected Methods protected void grView_SelectedIndexChanged(object sender, EventArgs e) { showAction(true); raiseEvent(); } protected void lbtAddNew_Click(object sender, EventArgs e) { raiseAddNew(); } protected void lbtCancel_Click(object sender, EventArgs e) { raiseReset(); } /// /// comando reset /// /// /// protected void lbtReset_Click(object sender, EventArgs e) { showAction(false); resetSelezione(); } protected void lbtSendPack_Click(object sender, EventArgs e) { MagData.MagDataLayer.man.taPList.transfer(PackListID); showAction(false); resetSelezione(); } protected void lbtSetDraft_Click(object sender, EventArgs e) { MagData.MagDataLayer.man.taPList.updateStatus(PackListID, 0); showAction(false); resetSelezione(); } protected void lbtSetRequest_Click(object sender, EventArgs e) { MagData.MagDataLayer.man.taPList.updateStatus(PackListID, 1); showAction(false); resetSelezione(); } protected void lbtSplitSped_Click(object sender, EventArgs e) { MagData.MagDataLayer.man.taPList.splitLoaded(PackListID); showAction(false); resetSelezione(); } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { showAction(false); lbtSetDraft.DataBind(); lbtSetRequest.DataBind(); lbtSplitSped.DataBind(); lbtSendPack.DataBind(); ddlMaxStatus.SelectedValue = "3"; grView.PageSize = cmp_numRow.numRow; } cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh; } #endregion Protected Methods #region Internal Methods internal void doUpdate() { grView.DataBind(); } #endregion Internal Methods #region Public Methods public bool canDelete(object _packStatus, object _numAl) { int packStatus = 999; int numAl = 999; int.TryParse(_packStatus.ToString(), out packStatus); int.TryParse(_numAl.ToString(), out numAl); return packStatus < 1 && numAl == 0; } public void resetSelezione() { grView.SelectedIndex = -1; grView.DataBind(); raiseReset(); } #endregion Public Methods } }