OK crea nuova revisione duplicando misure...
This commit is contained in:
@@ -1,9 +1,15 @@
|
||||
<%@ 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 class="row text-center py-2" style="font-size: 0.8em;">
|
||||
<div class="col-12 text-center text-uppercase text-info">
|
||||
<h6><%: traduci("EditDossier") %></h6>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="col-5">
|
||||
<b><%: traduci("FaseRevAct") %></b>
|
||||
</div>
|
||||
<div class="col-7">
|
||||
<b><%: traduci("NoteDossier") %></b>
|
||||
</div>
|
||||
<div class="col-5">
|
||||
<span class="input-group mb-0">
|
||||
<span class="input-group-prepend">
|
||||
<span class="input-group-text">
|
||||
@@ -19,29 +25,34 @@
|
||||
<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>
|
||||
<asp:LinkButton runat="server" ID="lbtNewRev" OnClick="lbtNewRev_Click"><i class="fa fa-plus text-info"></i></asp:LinkButton>
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
<asp:Label runat="server" ID="lblFaseRev"><%: traduci("InsEnabOnCurrent") %></asp:Label>
|
||||
</div>
|
||||
<div class="col-8">
|
||||
<asp:TextBox runat="server" ID="txtNote" TextMode="MultiLine" CssClass="form-control" Height="6em" AutoPostBack="True" OnTextChanged="txtNote_TextChanged" />
|
||||
<div class="col-7">
|
||||
<asp:TextBox runat="server" ID="txtNote" TextMode="MultiLine" CssClass="form-control" Height="5em" 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">
|
||||
<asp:LinkButton runat="server" ID="lbtSalvaNote" class="btn btn-success btn-block" Visible="true" OnClick="lbtSalvaNote_Click" ForeColor="White">
|
||||
<i class="fa fa-1x fa-floppy-o shortcut-icon"></i>
|
||||
Salva
|
||||
<%: traduci("SalvaFaseNote") %>
|
||||
</asp:LinkButton>
|
||||
<asp:LinkButton runat="server" ID="lbtSalvaRev" class="btn btn-info btn-block" Visible="true" OnClick="lbtSalvaRev_Click" ForeColor="White">
|
||||
<i class="fa fa-1x fa-floppy-o shortcut-icon"></i>
|
||||
<%: traduci("SalvaRev") %>
|
||||
</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">
|
||||
<asp:LinkButton runat="server" ID="lbtResetNote" class="btn btn-danger btn-block" Visible="false" OnClick="lbtResetNote_Click" ForeColor="White">
|
||||
<i class="fa fa-1x fa-ban shortcut-icon"></i>
|
||||
Annulla
|
||||
<%: traduci("Annulla") %>
|
||||
</asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -62,9 +62,10 @@ namespace CMS_SC.WebUserControls
|
||||
{
|
||||
DS_Applicazione.ElencoDossierRow riga = DtProxy.man.taED.getByDossier(idxDossier)[0];
|
||||
txtNote.Text = riga.Note;
|
||||
ddlFase.SelectedValue = riga.Stato;
|
||||
lblRevAct.Text = riga.Stato; //!!!FARE!!!
|
||||
ddlFase.SelectedValue = riga.FaseAct;
|
||||
lblRevAct.Text = riga.RevAct.ToString();
|
||||
ddlFase.Enabled = editFaseRev;
|
||||
txtNote.Enabled = editFaseRev;
|
||||
icnCancel.Visible = editFaseRev;
|
||||
icnEdit.Visible = !editFaseRev;
|
||||
lbtNewRev.Visible = editFaseRev;
|
||||
@@ -87,6 +88,13 @@ namespace CMS_SC.WebUserControls
|
||||
{
|
||||
lbtResetNote.Visible = showSaveCancel;
|
||||
lbtSalvaNote.Visible = showSaveCancel;
|
||||
lbtSalvaRev.Visible = false;
|
||||
}
|
||||
public void showRevBtn(bool showSaveCancel)
|
||||
{
|
||||
lbtResetNote.Visible = showSaveCancel;
|
||||
lbtSalvaNote.Visible = false;
|
||||
lbtSalvaRev.Visible = showSaveCancel;
|
||||
}
|
||||
|
||||
protected void lbtResetNote_Click(object sender, EventArgs e)
|
||||
@@ -101,10 +109,36 @@ namespace CMS_SC.WebUserControls
|
||||
if (idxDossier > 0)
|
||||
{
|
||||
DtProxy.man.taED.updateNote(idxDossier, ddlFase.SelectedValue, txtNote.Text.Trim());
|
||||
editFaseRev = false;
|
||||
}
|
||||
// ricarico
|
||||
fixControls();
|
||||
showNoteBtn(false);
|
||||
showRevBtn(false);
|
||||
raiseEvent();
|
||||
}
|
||||
protected void lbtSalvaRev_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...
|
||||
DtProxy.man.taED.createRev(idxDossier, user_std.UtSn.utente, txtNote.Text.Trim());
|
||||
// ricarico
|
||||
editFaseRev = false;
|
||||
fixControls();
|
||||
showNoteBtn(false);
|
||||
showRevBtn(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
// ricarico
|
||||
fixControls();
|
||||
lblWarn.Visible = true;
|
||||
lblWarn.Text = traduci("ERR-NoteMandatory");
|
||||
showNoteBtn(false);
|
||||
showRevBtn(true);
|
||||
}
|
||||
raiseEvent();
|
||||
}
|
||||
protected void ddlFase_SelectedIndexChanged(object sender, EventArgs e)
|
||||
@@ -121,6 +155,11 @@ namespace CMS_SC.WebUserControls
|
||||
{
|
||||
editFaseRev = !editFaseRev;
|
||||
fixControls();
|
||||
if (!editFaseRev)
|
||||
{
|
||||
showNoteBtn(false);
|
||||
showRevBtn(false);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Crea una nuova revisione
|
||||
@@ -129,18 +168,7 @@ namespace CMS_SC.WebUserControls
|
||||
/// <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...
|
||||
}
|
||||
else
|
||||
{
|
||||
lblWarn.Visible = true;
|
||||
lblWarn.Text = traduci("ERR-NoteMandatory");
|
||||
}
|
||||
showRevBtn(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
+18
@@ -75,6 +75,15 @@ namespace CMS_SC.WebUserControls {
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.LinkButton lbtNewRev;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo lblFaseRev.
|
||||
/// </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 lblFaseRev;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo txtNote.
|
||||
/// </summary>
|
||||
@@ -93,6 +102,15 @@ namespace CMS_SC.WebUserControls {
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.LinkButton lbtSalvaNote;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo lbtSalvaRev.
|
||||
/// </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 lbtSalvaRev;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo lblWarn.
|
||||
/// </summary>
|
||||
|
||||
@@ -27,7 +27,8 @@
|
||||
<asp:Label ID="Label1" runat="server" Text='<%# Eval("NumSchede") + " (" +Eval("NumMisEff")+"/"+ Eval("NumMisReq") +")" %>' ToolTip="Num Schede (misure effettuate / misure richieste)" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="Stato" HeaderText="Fase" SortExpression="Stato" />
|
||||
<asp:BoundField DataField="FaseAct" HeaderText="Fase" SortExpression="FaseAct" />
|
||||
<asp:BoundField DataField="RevAct" HeaderText="R" SortExpression="RevAct" />
|
||||
<asp:TemplateField ShowHeader="False" ItemStyle-Wrap="false">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="lbDelete" runat="server" CausesValidation="False" CommandName="Delete" ToolTip="Delete" OnClientClick='<%# SteamWare.jsUtils.getCBE("confermaDel") %>' CssClass="fa fa-trash text-danger fa-2x" Visible='<%# userCanDel(Eval("IdxDossier")) && showDelete %>' />
|
||||
|
||||
@@ -5,163 +5,163 @@ using System.Web.UI.WebControls;
|
||||
|
||||
namespace CMS_SC.WebUserControls
|
||||
{
|
||||
public partial class mod_elencoDossiers : System.Web.UI.UserControl
|
||||
public partial class mod_elencoDossiers : System.Web.UI.UserControl
|
||||
{
|
||||
/// <summary>
|
||||
/// selezione valore in DettScheda
|
||||
/// </summary>
|
||||
public event EventHandler eh_selezioneValore;
|
||||
/// <summary>
|
||||
/// eliminazione Scheda
|
||||
/// </summary>
|
||||
public event EventHandler eh_deleteVal;
|
||||
/// <summary>
|
||||
/// sollevo evento selezione
|
||||
/// </summary>
|
||||
protected void raiseEvent()
|
||||
{
|
||||
/// <summary>
|
||||
/// selezione valore in DettScheda
|
||||
/// </summary>
|
||||
public event EventHandler eh_selezioneValore;
|
||||
/// <summary>
|
||||
/// eliminazione Scheda
|
||||
/// </summary>
|
||||
public event EventHandler eh_deleteVal;
|
||||
/// <summary>
|
||||
/// sollevo evento selezione
|
||||
/// </summary>
|
||||
protected void raiseEvent()
|
||||
{
|
||||
// sollevo evento nuovo valore...
|
||||
if (eh_selezioneValore != null)
|
||||
{
|
||||
eh_selezioneValore(this, new EventArgs());
|
||||
}
|
||||
}
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// dimensione pagina grid view
|
||||
/// </summary>
|
||||
public int pageSize
|
||||
{
|
||||
get
|
||||
{
|
||||
return grView.PageSize;
|
||||
}
|
||||
set
|
||||
{
|
||||
grView.PageSize = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// dossier selezionato
|
||||
/// </summary>
|
||||
public int idxDossier
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = 0;
|
||||
try
|
||||
{
|
||||
answ = Convert.ToInt32(grView.SelectedDataKey["IdxDossier"]);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// selezione scheda...
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
raiseEvent();
|
||||
}
|
||||
protected void btnReset_Click(object sender, EventArgs e)
|
||||
{
|
||||
resetSelezione();
|
||||
}
|
||||
/// <summary>
|
||||
/// resetto selezione
|
||||
/// </summary>
|
||||
private void resetSelezione()
|
||||
{
|
||||
grView.SelectedIndex = -1;
|
||||
grView.DataBind();
|
||||
raiseEvent();
|
||||
}
|
||||
/// <summary>
|
||||
/// wrapper traduzione
|
||||
/// </summary>
|
||||
/// <param name="lemma"></param>
|
||||
/// <returns></returns>
|
||||
public string traduci(string lemma)
|
||||
{
|
||||
return user_std.UtSn.Traduci(lemma);
|
||||
}
|
||||
/// <summary>
|
||||
/// imposta se sia abilitato delete "in genere" per il controllo
|
||||
/// </summary>
|
||||
public bool showDelete
|
||||
{
|
||||
get
|
||||
{
|
||||
return memLayer.ML.BoolSessionObj(string.Format("canDel_{0}", devicesAuthProxy.pagCorrente));
|
||||
}
|
||||
set
|
||||
{
|
||||
memLayer.ML.setSessionVal(string.Format("canDel_{0}", devicesAuthProxy.pagCorrente), value);
|
||||
grView.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
public bool userCanDel(object _idxDossier)
|
||||
{
|
||||
// se è superuser è SEMPRE true...
|
||||
bool answ = userIsAdmin;
|
||||
if (!answ)
|
||||
{
|
||||
int idxDossier = 0;
|
||||
int trovati = 0;
|
||||
// altrimenti verifico se sia un dossier "vuoto" e quindi eliminabile...
|
||||
try
|
||||
{
|
||||
idxDossier = Convert.ToInt32(_idxDossier);
|
||||
// cerco se ci sono record misure (NON devono esserci...)
|
||||
trovati = DtProxy.man.taMis.getByDossier(idxDossier).Rows.Count;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
if (trovati == 0)
|
||||
{
|
||||
answ = true;
|
||||
}
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// determina se user sia SuperAdmin
|
||||
/// </summary>
|
||||
public bool userIsAdmin
|
||||
{
|
||||
get
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
answ = devicesAuthProxy.stObj.userHasRight("SuperAdmin");
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
public void doUpdate()
|
||||
{
|
||||
grView.DataBind();
|
||||
}
|
||||
|
||||
protected void grView_RowDeleted(object sender, GridViewDeletedEventArgs e)
|
||||
{
|
||||
grView.DataBind();
|
||||
// sollevo evento nuovo valore...
|
||||
if (eh_deleteVal != null)
|
||||
{
|
||||
eh_deleteVal(this, new EventArgs());
|
||||
}
|
||||
}
|
||||
// sollevo evento nuovo valore...
|
||||
if (eh_selezioneValore != null)
|
||||
{
|
||||
eh_selezioneValore(this, new EventArgs());
|
||||
}
|
||||
}
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// dimensione pagina grid view
|
||||
/// </summary>
|
||||
public int pageSize
|
||||
{
|
||||
get
|
||||
{
|
||||
return grView.PageSize;
|
||||
}
|
||||
set
|
||||
{
|
||||
grView.PageSize = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// dossier selezionato
|
||||
/// </summary>
|
||||
public int idxDossier
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = 0;
|
||||
try
|
||||
{
|
||||
answ = Convert.ToInt32(grView.SelectedDataKey["IdxDossier"]);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// selezione scheda...
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
raiseEvent();
|
||||
}
|
||||
protected void btnReset_Click(object sender, EventArgs e)
|
||||
{
|
||||
resetSelezione();
|
||||
}
|
||||
/// <summary>
|
||||
/// resetto selezione
|
||||
/// </summary>
|
||||
private void resetSelezione()
|
||||
{
|
||||
grView.SelectedIndex = -1;
|
||||
grView.DataBind();
|
||||
raiseEvent();
|
||||
}
|
||||
/// <summary>
|
||||
/// wrapper traduzione
|
||||
/// </summary>
|
||||
/// <param name="lemma"></param>
|
||||
/// <returns></returns>
|
||||
public string traduci(string lemma)
|
||||
{
|
||||
return user_std.UtSn.Traduci(lemma);
|
||||
}
|
||||
/// <summary>
|
||||
/// imposta se sia abilitato delete "in genere" per il controllo
|
||||
/// </summary>
|
||||
public bool showDelete
|
||||
{
|
||||
get
|
||||
{
|
||||
return memLayer.ML.BoolSessionObj(string.Format("canDel_{0}", devicesAuthProxy.pagCorrente));
|
||||
}
|
||||
set
|
||||
{
|
||||
memLayer.ML.setSessionVal(string.Format("canDel_{0}", devicesAuthProxy.pagCorrente), value);
|
||||
grView.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
public bool userCanDel(object _idxDossier)
|
||||
{
|
||||
// se è superuser è SEMPRE true...
|
||||
bool answ = userIsAdmin;
|
||||
if (!answ)
|
||||
{
|
||||
int idxDossier = 0;
|
||||
int trovati = 0;
|
||||
// altrimenti verifico se sia un dossier "vuoto" e quindi eliminabile...
|
||||
try
|
||||
{
|
||||
idxDossier = Convert.ToInt32(_idxDossier);
|
||||
// cerco se ci sono record misure (NON devono esserci...)
|
||||
trovati = DtProxy.man.taMis.getByDossier(idxDossier).Rows.Count;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
if (trovati == 0)
|
||||
{
|
||||
answ = true;
|
||||
}
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// determina se user sia SuperAdmin
|
||||
/// </summary>
|
||||
public bool userIsAdmin
|
||||
{
|
||||
get
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
answ = devicesAuthProxy.stObj.userHasRight("SuperAdmin");
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
public void doUpdate()
|
||||
{
|
||||
grView.DataBind();
|
||||
}
|
||||
|
||||
protected void grView_RowDeleted(object sender, GridViewDeletedEventArgs e)
|
||||
{
|
||||
grView.DataBind();
|
||||
// sollevo evento nuovo valore...
|
||||
if (eh_deleteVal != null)
|
||||
{
|
||||
eh_deleteVal(this, new EventArgs());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user