Iniziata gestione REV con FASI...

This commit is contained in:
Samuele E. Locatelli
2018-02-19 19:25:16 +01:00
parent efd982613c
commit 378dd4841d
7 changed files with 269 additions and 102 deletions
+1 -1
View File
@@ -56,7 +56,7 @@ namespace CMS_SC
if (addVisib)
{
mod_dossier.idxDossier = mod_elencoDossiers.idxDossier;
mod_dossier.fixNote();
mod_dossier.fixControls();
mod_dossier.showNoteBtn(false);
}
}
+40 -21
View File
@@ -1,28 +1,47 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="mod_dossier.ascx.cs" Inherits="CMS_SC.WebUserControls.mod_dossier" %>
<div class="row text-center" style="font-size: 0.8em;">
<div class="col-12 text-center text-uppercase">
<h6>Edit Dossier</h6>
</div>
<div class="col-3">
<asp:DropDownList runat="server" ID="ddlFase" DataSourceID="odsFase" DataTextField="label" DataValueField="value" CssClass="form-control form-control-sm" AutoPostBack="True" OnSelectedIndexChanged="ddlFase_SelectedIndexChanged">
</asp:DropDownList>
<asp:ObjectDataSource ID="odsFase" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="CMS_SC_Data.DS_UtilityTableAdapters.v_selFasiTableAdapter"></asp:ObjectDataSource>
</div>
<div class="col-9">
<asp:TextBox runat="server" ID="txtNote" TextMode="MultiLine" CssClass="form-control" Height="6em" AutoPostBack="True" OnTextChanged="txtNote_TextChanged" />
</div>
<div class="col-12" style="font-size: 1.5em;">
<div class="col-4 col-offset-2">
<asp:LinkButton runat="server" ID="lbtSalvaNote" class="btn btn-success" Visible="true" OnClick="lbtSalvaNote_Click" Width="200px" ForeColor="White">
<div class="col-12 text-center text-uppercase">
<h6>Edit Dossier</h6>
</div>
<div class="col-4">
<span class="input-group mb-0">
<span class="input-group-prepend">
<span class="input-group-text">
<asp:LinkButton runat="server" ID="lbtEnable" OnClick="lbtEnable_Click">
<i class="fa fa-edit text-info" runat="server" id="icnEdit"></i>
<i class="fa fa-refresh text-warning" runat="server" id="icnCancel"></i>
</asp:LinkButton>
</span>
</span>
<asp:DropDownList runat="server" ID="ddlFase" DataSourceID="odsFase" DataTextField="label" DataValueField="value" CssClass="form-control" AutoPostBack="True" OnSelectedIndexChanged="ddlFase_SelectedIndexChanged">
</asp:DropDownList>
<asp:ObjectDataSource ID="odsFase" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="CMS_SC_Data.DS_UtilityTableAdapters.v_selFasiTableAdapter"></asp:ObjectDataSource>
<span class="input-group-append">
<span class="input-group-text">
<asp:Label runat="server" ID="lblRevAct" Text="-" />
<asp:LinkButton runat="server" ID="lbtNewRev" OnClick="lbtNewRev_Click"><i class="fa fa-plus text-success"></i></asp:LinkButton>
</span>
</span>
</span>
</div>
<div class="col-8">
<asp:TextBox runat="server" ID="txtNote" TextMode="MultiLine" CssClass="form-control" Height="6em" AutoPostBack="True" OnTextChanged="txtNote_TextChanged" />
</div>
</div>
<div class="row" style="font-size: 1.5em;">
<div class="col-4">
<asp:LinkButton runat="server" ID="lbtSalvaNote" class="btn btn-success" Visible="true" OnClick="lbtSalvaNote_Click" Width="200px" ForeColor="White">
<i class="fa fa-1x fa-floppy-o shortcut-icon"></i>
Salva
</asp:LinkButton>
</div>
<div class="col-4">
<asp:LinkButton runat="server" ID="lbtResetNote" class="btn btn-danger" Visible="false" OnClick="lbtResetNote_Click" Width="200px" ForeColor="White">
</asp:LinkButton>
</div>
<div class="col-4">
<asp:Label runat="server" ID="lblWarn" Text="..." CssClass="text-danger" Visible="false" />
</div>
<div class="col-4">
<asp:LinkButton runat="server" ID="lbtResetNote" class="btn btn-danger" Visible="false" OnClick="lbtResetNote_Click" Width="200px" ForeColor="White">
<i class="fa fa-1x fa-ban shortcut-icon"></i>
Annulla
</asp:LinkButton>
</div>
</div>
</asp:LinkButton>
</div>
</div>
+136 -79
View File
@@ -4,85 +4,142 @@ using System;
namespace CMS_SC.WebUserControls
{
public partial class mod_dossier : System.Web.UI.UserControl
public partial class mod_dossier : SteamWare.UserControl
{
protected override void OnInit(EventArgs e)
{
/// <summary>
/// evento valore selezionato
/// </summary>
public event EventHandler eh_valUpdated;
protected void raiseEvent()
{
// sollevo evento nuovo valore...
if (eh_valUpdated != null)
{
eh_valUpdated(this, new EventArgs());
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
public int idxDossier
{
get
{
return memLayer.ML.IntSessionObj("idxDossierEdit");
}
set
{
memLayer.ML.setSessionVal("idxDossierEdit", value);
}
}
/// <summary>
/// carica campo note e mostra editing...
/// </summary>
public void fixNote()
{
if (idxDossier > 0)
{
DS_Applicazione.ElencoDossierRow riga = DtProxy.man.taED.getByDossier(idxDossier)[0];
txtNote.Text = riga.Note;
ddlFase.SelectedValue = riga.Stato;
}
}
/// <summary>
/// mostra btn salvataggio / annullamento
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtNote_TextChanged(object sender, EventArgs e)
{
// mostra button salvataggio/annulla
showNoteBtn(true);
}
public void showNoteBtn(bool showSaveCancel)
{
lbtResetNote.Visible = showSaveCancel;
lbtSalvaNote.Visible = showSaveCancel;
}
protected void lbtResetNote_Click(object sender, EventArgs e)
{
fixNote();
showNoteBtn(false);
}
protected void lbtSalvaNote_Click(object sender, EventArgs e)
{
// salvo
if (idxDossier > 0)
{
DtProxy.man.taED.updateNote(idxDossier, ddlFase.SelectedValue, txtNote.Text.Trim());
}
// ricarico
fixNote();
showNoteBtn(false);
raiseEvent();
}
protected void ddlFase_SelectedIndexChanged(object sender, EventArgs e)
{
// mostra button salvataggio/annulla
showNoteBtn(true);
}
base.OnInit(e);
if (!Page.IsPostBack)
{
editFaseRev = false;
fixControls();
}
}
/// <summary>
/// evento valore selezionato
/// </summary>
public event EventHandler eh_valUpdated;
protected void raiseEvent()
{
// sollevo evento nuovo valore...
if (eh_valUpdated != null)
{
eh_valUpdated(this, new EventArgs());
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
public int idxDossier
{
get
{
return memLayer.ML.IntSessionObj("idxDossierEdit");
}
set
{
memLayer.ML.setSessionVal("idxDossierEdit", value);
}
}
public bool editFaseRev
{
get
{
return memLayer.ML.BoolSessionObj("editFaseRev");
}
set
{
memLayer.ML.setSessionVal("editFaseRev", value);
}
}
/// <summary>
/// Aggiorna controllo con update del campo note e eventualmente permettendo editing...
/// </summary>
public void fixControls()
{
if (idxDossier > 0)
{
DS_Applicazione.ElencoDossierRow riga = DtProxy.man.taED.getByDossier(idxDossier)[0];
txtNote.Text = riga.Note;
ddlFase.SelectedValue = riga.Stato;
lblRevAct.Text = riga.Stato; //!!!FARE!!!
ddlFase.Enabled = editFaseRev;
icnCancel.Visible = editFaseRev;
icnEdit.Visible = !editFaseRev;
lbtNewRev.Visible = editFaseRev;
lblRevAct.Visible = !editFaseRev;
}
}
/// <summary>
/// mostra btn salvataggio / annullamento
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtNote_TextChanged(object sender, EventArgs e)
{
// mostra button salvataggio/annulla
showNoteBtn(true);
}
public void showNoteBtn(bool showSaveCancel)
{
lbtResetNote.Visible = showSaveCancel;
lbtSalvaNote.Visible = showSaveCancel;
}
protected void lbtResetNote_Click(object sender, EventArgs e)
{
fixControls();
showNoteBtn(false);
}
protected void lbtSalvaNote_Click(object sender, EventArgs e)
{
// salvo
if (idxDossier > 0)
{
DtProxy.man.taED.updateNote(idxDossier, ddlFase.SelectedValue, txtNote.Text.Trim());
}
// ricarico
fixControls();
showNoteBtn(false);
raiseEvent();
}
protected void ddlFase_SelectedIndexChanged(object sender, EventArgs e)
{
// mostra button salvataggio/annulla
showNoteBtn(true);
}
/// <summary>
/// Abilita modalità editing FASE / REVISIONE
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtEnable_Click(object sender, EventArgs e)
{
editFaseRev = !editFaseRev;
fixControls();
}
/// <summary>
/// Crea una nuova revisione
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtNewRev_Click(object sender, EventArgs e)
{
// SE HO le note... sennò errore...
if (txtNote.Text.Trim() != "")
{
// crea una nuova revisione salvando le note e DUPLICANDO tutti i valori alla NUOVA revisione...
// FARE con stored...
lblWarn.Visible = false;
}
else
{
lblWarn.Visible = true;
lblWarn.Text = traduci("ERR-NoteMandatory");
}
}
}
}
+54
View File
@@ -12,6 +12,33 @@ namespace CMS_SC.WebUserControls {
public partial class mod_dossier {
/// <summary>
/// Controllo lbtEnable.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtEnable;
/// <summary>
/// Controllo icnEdit.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl icnEdit;
/// <summary>
/// Controllo icnCancel.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl icnCancel;
/// <summary>
/// Controllo ddlFase.
/// </summary>
@@ -30,6 +57,24 @@ namespace CMS_SC.WebUserControls {
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource odsFase;
/// <summary>
/// Controllo lblRevAct.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblRevAct;
/// <summary>
/// Controllo lbtNewRev.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtNewRev;
/// <summary>
/// Controllo txtNote.
/// </summary>
@@ -48,6 +93,15 @@ namespace CMS_SC.WebUserControls {
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtSalvaNote;
/// <summary>
/// Controllo lblWarn.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblWarn;
/// <summary>
/// Controllo lbtResetNote.
/// </summary>
+15 -1
View File
@@ -10,7 +10,21 @@
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<span class="pr-1">
<asp:TextBox ID="txtSearch" runat="server" CssClass="form-control input-sm search-query" placeholder="[S]earch" AutoPostBack="true" OnTextChanged="txtSearch_TextChanged" TextMode="Search" AccessKey="s" />
<span class="input-group mb-0">
<span class="input-group-prepend">
<span class="input-group-text">
<asp:LinkButton runat="server" ID="lbSearch">
<i class="fa fa-search"></i>
</asp:LinkButton>
</span>
</span>
<asp:TextBox ID="txtSearch" runat="server" CssClass="form-control input-sm search-query" placeholder="[S]earch" AutoPostBack="true" OnTextChanged="txtSearch_TextChanged" TextMode="Search" AccessKey="s" />
<span class="input-group-append">
<asp:LinkButton runat="server" ID="lbReset" OnClick="lbReset_Click" CssClass="input-group-text">
<i class="fa fa-ban"></i>
</asp:LinkButton>
</span>
</span>
</span>
<span class="pr-1">
<asp:UpdateProgress ID="updtRicerca" runat="server" DisplayAfter="5" DynamicLayout="false">
@@ -482,5 +482,10 @@ namespace CMS_SC.WebUserControls
memLayer.ML.setSessionVal("searchVal", value);
}
}
protected void lbReset_Click(object sender, EventArgs e)
{
searchVal = "";
}
}
}
+18
View File
@@ -30,6 +30,15 @@ namespace CMS_SC.WebUserControls {
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlImage imgLogo;
/// <summary>
/// Controllo lbSearch.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbSearch;
/// <summary>
/// Controllo txtSearch.
/// </summary>
@@ -39,6 +48,15 @@ namespace CMS_SC.WebUserControls {
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtSearch;
/// <summary>
/// Controllo lbReset.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbReset;
/// <summary>
/// Controllo updtRicerca.
/// </summary>