using SteamWare; using System; using System.Web.UI; public partial class mod_insertRichiesta : System.Web.UI.UserControl { #region eventi public event EventHandler eh_newReq; public event EventHandler eh_done; #endregion protected bool _causVis = false; /// /// determina la visibilità del panel causali /// public bool causaliVisibili { get { return _causVis; } set { _causVis = value; } } /// /// avvio controllo /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { traduciObj(); setFixedVal(); fixVisibPnl(); } } /// /// imposta i valori calcolati e fissi... /// private void setFixedVal() { // recupero valori di riferimento int shift = memLayer.ML.confReadInt("shiftTurno"); int durataTurno = memLayer.ML.confReadInt("durataTurno"); int turno = Convert.ToInt32(Math.Ceiling((double)Convert.ToDouble(DateTime.Now.AddHours(-shift + 1).Hour) / durataTurno)); int delay = memLayer.ML.confReadInt("defaultDelay"); // inserisco valori di default //txtDataOra.Text = string.Format("{0:dd/MM/yyyy HH:mm}", DateTime.Now); //txtDataLav.Text = string.Format("{0:dd/MM/yyyy}", DateTime.Now.AddHours(-shift + 1)); txtDataOra.Text = DateTime.Now.ToString(memLayer.ML.CRS("ddMMyyyyHHmm")); txtDataLav.Text = DateTime.Now.AddHours(-shift + 1).ToString(memLayer.ML.CRS("ddMMyyyy")); txtTurnoLav.Text = turno.ToString(); mod_dataOra1.valore = DateTime.Now.AddMinutes(-delay); chkImpFermo.Checked = false; } /// /// sistema la visibilità dei controlli /// private void fixVisibPnl() { divCausali.Visible = _causVis; } /// /// traduzione /// /// /// public string traduci(object lemma) { return user_std.UtSn.Traduci(lemma.ToString()); } /// /// sistema le labels /// private void traduciObj() { lblTitolo.Text = traduci("lblInsRichiestaMtz"); lblDataOra.Text = traduci("lblDataOraRich"); lblDataLav.Text = traduci("lblDataLav"); lblTurnoLav.Text = traduci("lblTurnoLav"); btnSend.Text = traduci("btnInviaRichiesta"); lblImpianto.Text = traduci("lblImpianto"); lblMacchina.Text = traduci("lblMacchina"); lblDescrGuasto.Text = traduci("lblDescrGuasto"); lblDettagliGuasto.Text = traduci("lblDettagliGuasto"); lblMatr.Text = traduci("lblMatr"); lblPrior.Text = traduci("lblPrior"); lblFermaDalleData.Text = traduci("lblFermaDalle"); lblAmbito.Text = traduci("lblAmbito"); lblTipoGuasto.Text = traduci("lblTipoGuasto"); chkImpFermo.Text = traduci("chkImpFermo"); // setup stringhe rimando link lnkbInsertNewReq.Text = traduci("lnkbInsertNewReq"); lnkGoToReqList.Text = traduci("lnkGoToReqList"); lblEsitoInserimento.Text = traduci("lblEsitoInserimento"); // setup stringhe validazione valSummary.HeaderText = traduci("errori"); rfvReparto.ErrorMessage = string.Format("{0}: {1}", traduci("campoRichiesto"), traduci("reparto")); rfvMacchina.ErrorMessage = string.Format("{0}: {1}", traduci("campoRichiesto"), traduci("macchina")); rfvMatr.ErrorMessage = string.Format("{0}: {1}", traduci("campoRichiesto"), traduci("matricola")); rfvCausali.ErrorMessage = string.Format("{0}: {1}", traduci("campoRichiesto"), traduci("causali")); rfvDescrizione.ErrorMessage = string.Format("{0}: {1}", traduci("campoRichiesto"), traduci("descrizione")); } /// /// aggiorna elenco macchine selezionato impianto /// /// /// protected void listImpianti_SelectedIndexChanged(object sender, EventArgs e) { // aggiorno altro selettore... listMacchine.DataBind(); } /// /// salva ed invia richeista /// /// /// protected void btnSend_Click(object sender, EventArgs e) { // salvare valori... int? numReq = 0; try { // sistemo i valori // 2015.02.16 fix datetime!!! //DateTime richiesta = Convert.ToDateTime(txtDataOra.Text.Trim()); //DateTime dataLav = Convert.ToDateTime(txtDataLav.Text.Trim()); DateTime richiesta = WebGimUtils.convDate(txtDataOra.Text.Trim(), memLayer.ML.CRS("ddMMyyyy"), memLayer.ML.CRS("culture"), true); DateTime dataLav = WebGimUtils.convDate(txtDataLav.Text.Trim(), memLayer.ML.CRS("ddMMyyyy"), memLayer.ML.CRS("culture")); DateTime inizioGuasto = mod_dataOra1.valore; if (memLayer.ML.confReadInt("_logLevel") > 5) { logger.lg.scriviLog(string.Format("richiesta: {0} -> {1}", txtDataOra.Text, richiesta)); logger.lg.scriviLog(string.Format("dataLav: {0} -> {1}", txtDataLav.Text, dataLav)); logger.lg.scriviLog(string.Format("inizioGuasto: {0}", mod_dataOra1.valore)); } int turno = Convert.ToInt32(txtTurnoLav.Text); string matr = txtMatr.Text.Trim(); int idxAmbito = Convert.ToInt32(ddlAmbito.SelectedValue); int idxPrior = Convert.ToInt32(ddlPrior.SelectedValue); bool isFermo = chkImpFermo.Checked; int idxTipo = Convert.ToInt32(ddlTipo.SelectedValue); int idxImpianto = Convert.ToInt32(listImpianti.SelectedValue); int idxMacchina = Convert.ToInt32(listMacchine.SelectedValue); string descrizione = txtDescrizione.Text.Trim(); int idxCausale = 1; // cerco se ci sia un altro valore selezionato... try { idxCausale = Convert.ToInt32(listCausali.SelectedValue); } catch { } if (memLayer.ML.confReadInt("_logLevel") > 5) { logger.lg.scriviLog(string.Format("stp_IntMtz_insRichiesta, valori: {0} | {1} | {2} | {3} | {4} | {5} | {6} | {7} | {8} | {9} | {10} | {11} | {12} | {13} | {14}", richiesta, dataLav, turno, matr, inizioGuasto, idxAmbito, idxPrior, isFermo, idxTipo, idxImpianto, idxMacchina, descrizione, idxCausale, false, 0)); } // stored inserimento! TA_app.obj.taInterventiMtz.insRichiesta(richiesta, dataLav, turno, matr, inizioGuasto, idxAmbito, idxPrior, isFermo, idxTipo, idxImpianto, idxMacchina, descrizione, idxCausale, false, 0, ref numReq); } catch (Exception exc) { logger.lg.scriviLog("Errore inserimento nuova richiesta!", tipoLog.ERROR); logger.lg.scriviLog(exc.ToString(), tipoLog.EXCEPTION); } //poi mostrare pnl richiesta con "ticket" generato + link x vedere elenco oppure nuova... pnlMain_InsRichiesta.Visible = false; pnlMain_ShowTicket.Visible = true; lblNumRichInserted.Text = string.Format("{0} {1}", traduci("newReqInserted"), (int)numReq); if (eh_done != null) { eh_done(this, new EventArgs()); } } /// /// inverte visibilità pannelli /// /// /// protected void lnkbtnInsertNewReq_Click(object sender, EventArgs e) { pnlMain_InsRichiesta.Visible = true; pnlMain_ShowTicket.Visible = false; if (eh_newReq != null) { eh_newReq(this, new EventArgs()); } } }