inizio edit messaggio + add note

This commit is contained in:
Samuele E. Locatelli
2018-07-29 20:38:14 +02:00
parent 5439ef163e
commit ff44e98922
4 changed files with 368 additions and 130 deletions
+37 -5
View File
@@ -17,10 +17,10 @@
<asp:LinkButton runat="server" ID="lbtCambiaForn" CssClass="btn btn-sm btn-danger btn-block" OnClick="lbtCambiaForn_Click"><i class="fas fa-sync"></i> Cambia Fornitore</asp:LinkButton>
</div>
<div class="col">
<asp:LinkButton runat="server" ID="lbtMessaggio" CssClass="btn btn-sm btn-success btn-block disabled"><i class="fas fa-pencil-alt"></i> Modifica Messaggio</asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtMessaggio" CssClass="btn btn-sm btn-success btn-block" OnClick="lbtMessaggio_Click"><i class="fas fa-pencil-alt"></i> Modifica Messaggio</asp:LinkButton>
</div>
<div class="col">
<asp:LinkButton runat="server" ID="lbtNota" CssClass="btn btn-sm btn-success btn-block disabled"><i class="fas fa-plus"></i> Aggiungi Nota</asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtNota" CssClass="btn btn-sm btn-success btn-block" OnClick="lbtNota_Click"><i class="fas fa-plus"></i> Aggiungi Nota</asp:LinkButton>
</div>
</div>
<div class="row mb-2">
@@ -47,7 +47,7 @@
<asp:LinkButton runat="server" ID="lbtSalvaScad" CssClass="btn btn-sm btn-success btn-block" OnClick="lbtSalvaScad_Click"><i class="fas fa-check"></i> Update</asp:LinkButton>
</div>
<div class="col-2 pl-0">
<asp:LinkButton runat="server" ID="lbtCancScad" CssClass="btn btn-sm btn-outline-secondary btn-block" OnClick="lbtCancScad_Click"><i class="fas fa-ban"></i> Cancel</asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtCancScad" CssClass="btn btn-sm btn-outline-secondary btn-block" OnClick="lbtCanc_Click"><i class="fas fa-ban"></i> Cancel</asp:LinkButton>
</div>
</div>
</div>
@@ -65,7 +65,7 @@
<asp:LinkButton runat="server" ID="lbtSalvaPrior" CssClass="btn btn-sm btn-success btn-block" OnClick="lbtSalvaPrior_Click"><i class="fas fa-check"></i> Update</asp:LinkButton>
</div>
<div class="col-2 pl-0">
<asp:LinkButton runat="server" ID="lbtCancPrior" CssClass="btn btn-sm btn-outline-secondary btn-block" OnClick="lbtCancPrior_Click"><i class="fas fa-ban"></i> Cancel</asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtCancPrior" CssClass="btn btn-sm btn-outline-secondary btn-block" OnClick="lbtCanc_Click"><i class="fas fa-ban"></i> Cancel</asp:LinkButton>
</div>
</div>
</div>
@@ -103,7 +103,39 @@
<asp:LinkButton runat="server" ID="lbtSalvaForn" CssClass="btn btn-sm btn-success btn-block" OnClick="lbtSalvaForn_Click"><i class="fas fa-check"></i> Update</asp:LinkButton>
</div>
<div class="col-2 pl-0">
<asp:LinkButton runat="server" ID="lbtCancForn" CssClass="btn btn-sm btn-outline-secondary btn-block" OnClick="lbtCancForn_Click"><i class="fas fa-ban"></i> Cancel</asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtCancForn" CssClass="btn btn-sm btn-outline-secondary btn-block" OnClick="lbtCanc_Click"><i class="fas fa-ban"></i> Cancel</asp:LinkButton>
</div>
</div>
</div>
<div runat="server" id="divMess">
<div class="row table-success py-2">
<div class="col-2">
Messaggio:
</div>
<div class="col-6">
<asp:TextBox runat="server" ID="txtMessaggio" TextMode="MultiLine" Height="8em" CssClass="form-control" />
</div>
<div class="col-2 pr-0">
<asp:LinkButton runat="server" ID="lbtSalvaMess" CssClass="btn btn-sm btn-success btn-block" OnClick="lbtSalvaMess_Click"><i class="fas fa-check"></i> Update</asp:LinkButton>
</div>
<div class="col-2 pl-0">
<asp:LinkButton runat="server" ID="lbtCancMess" CssClass="btn btn-sm btn-outline-secondary btn-block" OnClick="lbtCanc_Click"><i class="fas fa-ban"></i> Cancel</asp:LinkButton>
</div>
</div>
</div>
<div runat="server" id="divNote">
<div class="row table-success py-2">
<div class="col-2">
Messaggio:
</div>
<div class="col-6">
<asp:TextBox runat="server" ID="txtNote" TextMode="MultiLine" Height="8em" CssClass="form-control" />
</div>
<div class="col-2 pr-0">
<asp:LinkButton runat="server" ID="lbtSalvaNote" CssClass="btn btn-sm btn-success btn-block" OnClick="lbtSalvaNote_Click"><i class="fas fa-check"></i> Update</asp:LinkButton>
</div>
<div class="col-2 pl-0">
<asp:LinkButton runat="server" ID="lbtCancNote" CssClass="btn btn-sm btn-outline-secondary btn-block" OnClick="lbtCanc_Click"><i class="fas fa-ban"></i> Cancel</asp:LinkButton>
</div>
</div>
</div>
+103 -125
View File
@@ -26,9 +26,7 @@ namespace PUB.WebUserContols
divForn.Visible = false;
}
protected void chkShowAll_CheckedChanged(object sender, EventArgs e)
protected void chkShowAll_CheckedChanged(object sender, EventArgs e)
{
fixSelCond();
refreshFornitori();
@@ -49,6 +47,9 @@ protected void chkShowAll_CheckedChanged(object sender, EventArgs e)
hfCondReq.Value = value;
}
}
/// <summary>
/// Sistemazione dati fitraggio x condominio
/// </summary>
private void fixSelCond()
{
// se è selezionato imposto nell'hiddenField 0, altrimenti valore selezionato da ddlCOndomini
@@ -61,13 +62,23 @@ protected void chkShowAll_CheckedChanged(object sender, EventArgs e)
hfCond.Value = hfCondReq.Value;
}
}
/// <summary>
/// Refresh fornitori
/// </summary>
private void refreshFornitori()
{
ddlFornitore.Items.Clear();
ddlFornitore.DataBind();
}
/// <summary>
/// Cancellazione azioni (e hide details vari)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtCanc_Click(object sender, EventArgs e)
{
hideDivActions();
}
/// <summary>
/// Invio richiesta preventivo ad azienda selezionata
/// </summary>
@@ -75,15 +86,7 @@ protected void chkShowAll_CheckedChanged(object sender, EventArgs e)
/// <param name="e"></param>
protected void lbtPreventivo_Click(object sender, EventArgs e)
{
string oggetto = "Richiesta PREVENTIVO intervento da b2bcondomini.it";
string bodyTpl =
"<b>Richiesta PREVENTIVO</b><br><br>" +
"Buongiorno<br>" +
"Ti è stata assegnata una richiesta di intervento da b2bcondomini.it per la quale è stato deciso di procedere con preventivo e relativa approvazione. Ti cheidiamo di predisporlo ed inviarlo sulla piattaforma al più presto.<br/>" +
"Il condominio interessato è <b>{0}</b>, pregasi contattare <b>{1}</b> al numero <b>{2}</b>.<br/>La richiesta indicata è la seguente:<br/>{3}<br/><br/>" +
"Seguire il <a href=\"http://www.b2bcondomini.it/PAZ/DettaglioIntervento?idxRichiesta=" + idxRichiesta + "\"> link seguente</a> per maggiori informazioni.";
string codAzione = "QuoteReq";
eseguiAzione(oggetto, bodyTpl, codAzione, true);
doQuoteReq();
}
/// <summary>
/// salva azione sollecito
@@ -92,17 +95,13 @@ protected void chkShowAll_CheckedChanged(object sender, EventArgs e)
/// <param name="e"></param>
protected void lbtSollecitoFornitore_Click(object sender, EventArgs e)
{
string oggetto = "SOLLECITO intervento da b2bcondomini.it";
string bodyTpl =
"<b>SOLLECITO risposta</b><br><br>" +
"Buongiorno<br>" +
"Ti è stata assegnata una richiesta di intervento da b2bcondomini.it e non hai ancora risposto entro i termini del servizio. Ti ricordiamo che se non lo farai al più presto la richiesta potrebbe venire riassegnata ad un altro fornitore.<br/>" +
"Il condominio interessato è <b>{0}</b>, pregasi contattare <b>{1}</b> al numero <b>{2}</b>.<br/>La richiesta indicata è la seguente:<br/>{3}<br/><br/>" +
"Seguire il <a href=\"http://www.b2bcondomini.it/PAZ/DettaglioIntervento?idxRichiesta=" + idxRichiesta + "\"> link seguente</a> per maggiori informazioni.";
string codAzione = "SendRem";
eseguiAzione(oggetto, bodyTpl, codAzione, true);
doSendRem();
}
/// <summary>
/// Gestione azione cambio fornitore
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtCambiaForn_Click(object sender, EventArgs e)
{
hideDivActions();
@@ -128,7 +127,11 @@ protected void chkShowAll_CheckedChanged(object sender, EventArgs e)
catch
{ }
}
/// <summary>
/// Gestione richiesta cambio scadenza
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtScadenza_Click(object sender, EventArgs e)
{
hideDivActions();
@@ -139,38 +142,20 @@ protected void chkShowAll_CheckedChanged(object sender, EventArgs e)
txtDataScad.Text = riga.dataScad.ToString("yyyy-MM-dd");
txtOraScad.Text = riga.dataScad.ToShortTimeString();
}
protected void lbtCancScad_Click(object sender, EventArgs e)
{
divScad.Visible = false;
}
/// <summary>
/// Salvataggio nuova scadenza
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtSalvaScad_Click(object sender, EventArgs e)
{
DateTime dataScadNew = DateTime.Now.Date;
TimeSpan oraScadNew = DateTime.Now.TimeOfDay;
try
{
DateTime.TryParse(txtDataScad.Text, out dataScadNew);
TimeSpan.TryParse(txtOraScad.Text, out oraScadNew);
// sommo...
dataScadNew = dataScadNew.Add(oraScadNew);
// salvo nuova data scadenza...
DtProxy.man.taElRich.UpdateScad(idxRichiesta, dataScadNew);
}
catch
{ }
string oggetto = "Cambio scadenza intervento da b2bcondomini.it";
string bodyTpl =
"<b>CAMBIO SCADENZA</b><br><br>" +
"Buongiorno<br>" +
"Ti è stata assegnata una richiesta di intervento da b2bcondomini.it di cui è stata variata la scadenza, ora impostata a <b>" + dataScadNew.ToString("ddd dd.MM.yyyy HH:mm") + "</b>.<br/>" +
"Il condominio interessato è <b>{0}</b>, pregasi contattare <b>{1}</b> al numero <b>{2}</b>.<br/>La richiesta indicata è la seguente:<br/>{3}<br/><br/>" +
"Seguire il <a href=\"http://www.b2bcondomini.it/PAZ/DettaglioIntervento?idxRichiesta=" + idxRichiesta + "\"> link seguente</a> per maggiori informazioni.";
string codAzione = "SetDDate";
eseguiAzione(oggetto, bodyTpl, codAzione, true);
doSetDDate(txtDataScad.Text, txtOraScad.Text);
}
/// <summary>
/// Gestione cambio urgenza
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtUrgenza_Click(object sender, EventArgs e)
{
hideDivActions();
@@ -179,87 +164,80 @@ protected void chkShowAll_CheckedChanged(object sender, EventArgs e)
var riga = ER_curr;
ddlPrior.SelectedValue = riga.idxPriorita.ToString();
}
/// <summary>
/// Salva priorità
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtSalvaPrior_Click(object sender, EventArgs e)
{
int idxPrior = 0;
DateTime dataScadNew = DateTime.Now;
string descrPriorita = "";
try
{
int.TryParse(ddlPrior.SelectedValue, out idxPrior);
var rigaPrio = DtProxy.man.taAP.getByKey(idxPrior)[0];
// sommo priorità ad adesso...
dataScadNew = dataScadNew.AddHours(rigaPrio.scadenzaGg * 24);
descrPriorita = rigaPrio.descrPriorita;
// salvo nuova data scadenza...
DtProxy.man.taElRich.UpdatePrior(idxRichiesta, idxPrior, dataScadNew);
}
catch
{ }
string oggetto = "Cambio scadenza intervento da b2bcondomini.it";
string bodyTpl =
"<b>CAMBIO PRIORITA' e SCADENZA</b><br><br>" +
"Buongiorno<br>" +
"Ti è stata assegnata una richiesta di intervento da b2bcondomini.it di cui è stata variata la priorità che ora è <b>" + descrPriorita + "</b> e la scadenza, ora impostata a <b>" + dataScadNew.ToString("ddd dd.MM.yyyy HH:mm") + "</b>.<br/>" +
"Il condominio interessato è <b>{0}</b>, pregasi contattare <b>{1}</b> al numero <b>{2}</b>.<br/>" +
"La richiesta indicata è la seguente:<br/>{3}<br/><br/>" +
"Seguire il <a href=\"http://www.b2bcondomini.it/PAZ/DettaglioIntervento?idxRichiesta=" + idxRichiesta + "\"> link seguente</a> per maggiori informazioni.";
string codAzione = "PrioMod";
eseguiAzione(oggetto, bodyTpl, codAzione, true);
int.TryParse(ddlPrior.SelectedValue, out idxPrior);
doPrioMod(idxPrior);
}
protected void lbtCancPrior_Click(object sender, EventArgs e)
{
divUrgenza.Visible = false;
}
/// <summary>
/// Azione salvataggio fornitore e area selezionati
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtSalvaForn_Click(object sender, EventArgs e)
{
// recupero dati della richiesta corrente
var riga = ER_curr;
// STEP 1: scrivo al VECCHIO per notificare FINE ASSEGNAZIONE
string oggetto = "ANNULLAMENTO RICHIESTA intervento da b2bcondomini.it";
string bodyTpl =
"<b>ANNULLAMENTO RICHIESTA di intervento</b><br><br>" +
"Buongiorno<br>" +
"E' stata annullata l'assegnazione alla tua azienda di una richiesta di intervento da b2bcondomini.it.<br/>" +
"Il condominio interessato era <b>{0}</b>.<br/>" +
"La richiesta indicata era la seguente:<br/>{3}<br/><br/>" +
"Seguire il <a href=\"http://www.b2bcondomini.it/PAZ/DettaglioIntervento?idxRichiesta=" + idxRichiesta + "\"> link seguente</a> per maggiori informazioni.";
string codAzione = "RemSupp";
eseguiAzione(oggetto, bodyTpl, codAzione, false);
// STEP 2: scrivo al NUOVO fornitore
int idxArea = 0;
int idxForn = 0;
try
{
int.TryParse(ddlArea.SelectedValue, out idxArea);
// splitto fornitore... è idxFornitore.idxArea
string[] codForn = ddlFornitore.SelectedValue.Split('.');
int.TryParse(codForn[0], out idxForn);
// salvo nuova data scadenza...
DtProxy.man.taElRich.UpdateForn(idxRichiesta, idxArea, idxForn);
}
catch
{ }
oggetto = "Nuova richiesta intervento da b2bcondomini.it";
bodyTpl =
"<b>ASSEGNAZIONE INTERVENTO</b><br><br>" +
"Buongiorno<br/>" +
"Ti è stata assegnata una nuova richiesta di intervento da b2bcondomini.it.<br/>" +
"Il condominio interessato è <b>{0}</b>, pregasi contattare <b>{1}</b> al numero <b>{2}</b>.<br/>" +
"La richiesta indicata è la seguente:<br/>{3}<br/><br/>" +
"Seguire il <a href=\"http://www.b2bcondomini.it/PAZ/DettaglioIntervento?idxRichiesta=" + idxRichiesta + "\"> link seguente</a> per maggiori informazioni.";
codAzione = "SetSupp";
eseguiAzione(oggetto, bodyTpl, codAzione, true);
int.TryParse(ddlArea.SelectedValue, out idxArea);
// splitto fornitore... è idxFornitore.idxArea
string[] codForn = ddlFornitore.SelectedValue.Split('.');
int.TryParse(codForn[0], out idxForn);
if (idxArea > 0 && idxForn > 0) doRemSetSupp(idxArea, idxForn);
}
protected void lbtCancForn_Click(object sender, EventArgs e)
/// <summary>
/// Richiesto editing messaggio
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtMessaggio_Click(object sender, EventArgs e)
{
divForn.Visible = false;
hideDivActions();
// mostra pulsante x impostare scadenza
divMess.Visible = !divMess.Visible;
// recupero dati della richiesta corrente ed imposto
var riga = ER_curr;
txtMessaggio.Text = riga.messaggio;
}
/// <summary>
/// Richiesto editing note
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtNota_Click(object sender, EventArgs e)
{
hideDivActions();
// mostra pulsante x impostare scadenza
divNote.Visible = !divNote.Visible;
// recupero dati della richiesta corrente ed imposto
var riga = ER_curr;
txtNote.Text = riga.note;
}
/// <summary>
/// Salvataggio messaggio editato
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtSalvaMess_Click(object sender, EventArgs e)
{
string messaggio = txtMessaggio.Text.Trim();
if(messaggio!="") doUpdateMess(messaggio);
}
/// <summary>
/// Aggiunta note ad esistenti
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtSalvaNote_Click(object sender, EventArgs e)
{
string note = txtNote.Text.Trim();
if (note != "") doAddNote(note);
}
}
}
+72
View File
@@ -254,5 +254,77 @@ namespace PUB.WebUserContols {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtCancForn;
/// <summary>
/// Controllo divMess.
/// </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 divMess;
/// <summary>
/// Controllo txtMessaggio.
/// </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.TextBox txtMessaggio;
/// <summary>
/// Controllo lbtSalvaMess.
/// </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 lbtSalvaMess;
/// <summary>
/// Controllo lbtCancMess.
/// </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 lbtCancMess;
/// <summary>
/// Controllo divNote.
/// </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 divNote;
/// <summary>
/// Controllo txtNote.
/// </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.TextBox txtNote;
/// <summary>
/// Controllo lbtSalvaNote.
/// </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 lbtSalvaNote;
/// <summary>
/// Controllo lbtCancNote.
/// </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 lbtCancNote;
}
}