using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace MP_ADM.WebUserControls { public partial class cmp_ST_preview : BaseUserControl { #region Protected Fields protected string preClip = "IdxST:"; #endregion Protected Fields #region Protected Properties protected int clipbIdxST { get { int answ = 0; if (!string.IsNullOrEmpty(clipboard)) { int.TryParse(clipboard.Replace(preClip, ""), out answ); } return answ; } } #endregion Protected Properties #region Public Properties public int IdxST { get { int answ = 0; int.TryParse(hfIdxST.Value, out answ); return answ; } set { hfIdxST.Value = $"{value}"; repGroup.DataBind(); checkClipboard(); } } #endregion Public Properties #region Private Methods private void checkClipboard() { // Tabella ST selezionata var tabCurrSTAR = DataLayerObj.taSTAR.getByST(IdxST); bool showPaste = false; bool checkSource = false; bool checkDest = false; // verifico condizioni COPY lbtCopy.Visible = (tabCurrSTAR.Rows.Count > 0); // verifico condizioni PASTE if (!string.IsNullOrEmpty(clipboard)) { // verifico sia tipo clipboard valida if (clipboard.StartsWith(preClip)) { //verifico sia intero valido if (clipbIdxST > 0) { // verifico le condizioni: si parte da una una ST esistente... var tabSrcSTA = DataLayerObj.taSTA.getByKey(clipbIdxST); checkSource = tabSrcSTA.Rows.Count > 0; checkDest = tabCurrSTAR.Rows.Count == 0; // verifica status visibilità x PASTE showPaste = checkSource && checkDest; } } } // verifica x stile copy lbtCopy.CssClass = checkSource ? "btn w-100 btn-light border border-dark" : "btn w-100 btn-outline-light"; lbtPaste.Visible = showPaste; } #endregion Private Methods #region Protected Methods protected void lbtCopy_Click(object sender, EventArgs e) { // salvo il clipboard la ST corrente... clipboard = $"{preClip}{IdxST}"; checkClipboard(); } protected void lbtDoEdit_Click(object sender, EventArgs e) { raiseNewVal(); } /// /// Effettua paste --> duplicazione Scheda Tecnica /// /// /// protected void lbtPaste_Click(object sender, EventArgs e) { // verifico codici... if (clipbIdxST > 0 && IdxST > 0) { // se diversi... if (clipbIdxST != IdxST) { // effettuo chiamata copy/paste DataLayerObj.taSTAR.PasteAll(clipbIdxST, IdxST); } clipboard = ""; } raiseReset(); } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { clipboard = ""; string testo = traduci("ConfirmPasteFullST"); lbtPaste.OnClientClick = SteamWare.jsUtils.getCBE(testo, false); } checkClipboard(); } #endregion Protected Methods } }