/// <summary> /// Enviar comentario /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void sendButton_Click(object sender, EventArgs e) { try { String sql, strComment, segmentType = string.Empty, codLevels = string.Empty; string codSegm = string.Empty, codType = string.Empty, codLevel = string.Empty, seqLevel = string.Empty, seqLevelT = string.Empty; //,codMot=string.Empty; bool edit = false; //vfin = false; Level resultLevel = new Level(); int res; DataView dt = new DataView(); strComment = txtComment.Text.Replace("'", "''"); if (strComment.Equals("")) { wucMessageControl.Message = "Debe de proveer un comentario"; wucMessageControl.ShowPopup(); } else { /*Obtener las filas para insertar en el Logs*/ dsIncidentNotification.OperationsLogsDataTable dtIncidentLogs = new dsIncidentNotification.OperationsLogsDataTable(); dsIncidentNotificationTableAdapters.OperationsLogsTableAdapter taIncidentLogs = new dsIncidentNotificationTableAdapters.OperationsLogsTableAdapter(); taIncidentLogs.FillByCodIncidence(dtIncidentLogs, Convert.ToInt16(hidIncidentNumber.Value)); /*Obtener código de motivo de Validación*/ dsIncidentNotification.IN_CAT_MOTIVESDataTable dtMotive = new dsIncidentNotification.IN_CAT_MOTIVESDataTable(); dsIncidentNotificationTableAdapters.IN_CAT_MOTIVESTableAdapter taMotive = new dsIncidentNotificationTableAdapters.IN_CAT_MOTIVESTableAdapter(); /**Segmento de código para verificar si se hace modificación en segmentos y tipos*/ //if (trSegment.Visible == true && trType.Visible == true && trStatus.Visible == true) if (trSegment.Visible == true && trType.Visible == true) { segmentType = string.Format(",COD_SEGMENT={0},COD_TYPE={1} ", ddlSegment.SelectedValue, ddlType.SelectedValue); codSegm = ddlSegment.SelectedValue; codType = ddlType.SelectedValue; //El id de la secuencia del nivel del registro actual resultLevel.GetLevelRec(decimal.Parse(dtIncidentLogs[0]["COD_LEVEL"].ToString())); seqLevel = resultLevel.LevelsTable.Rows[0]["LEVEL_SEQUENCE"].ToString(); codLevels = resultLevel.LevelsTable.Rows[0]["COD_LEVEL"].ToString(); //código del nivel //Niveles del tipo seleccionado resultLevel.GetLevelsType(decimal.Parse(ddlType.SelectedValue.ToString())); foreach (DataRow item in resultLevel.LevelsTable.Rows) { seqLevelT = item["LEVEL_SEQUENCE"].ToString(); if (seqLevel == seqLevelT) { break; } } if (seqLevelT != seqLevel)//(seqLevelT != seqLevel) { codLevel = codLevelChg; } else { codLevel = resultLevel.GetCodLevelTypeLevel(decimal.Parse(ddlType.SelectedValue.ToString()), decimal.Parse(seqLevel)).ToString(); } //codLevel= codLevelChg; /*if (ddlStatus.SelectedItem.Text.ToString().ToUpper().Contains("FIN")) * vfin = true; */ edit = true; } taMotive.FillByOperations(dtMotive); decimal criticalityLevel = 0; if (!string.IsNullOrEmpty(dtIncidentLogs[0]["CRITICALITY"].ToString())) { criticalityLevel = decimal.Parse(dtIncidentLogs[0]["CRITICALITY"].ToString()); } sql = "DECLARE\n" + " cod_incidence_log DECIMAL;\n" + " message VARCHAR2(500);\n" + "BEGIN\n"; /* sql += "UPDATE IN_INCIDENCES\n" + * /* string.Format("SET COD_MOTIVE = {0}, \"MONITORING\" = '{1}'" /*+ ((vfin) ? " ,END_DATE=sysdate ": " "), ((edit) ? ddlStatus.SelectedValue : dtMotive.Rows[0][0], strComment) + segmentType + ((edit) ? string.Format(",COD_LEVEL={0}", codLevel) : "") + * "\nWHERE COD_INCIDENCE = " + dtIncidentLogs[0]["COD_INCIDENCE"] + ";\n";*/ sql += "UPDATE IN_INCIDENCES\n" + string.Format("SET COD_MOTIVE = {0}, \"MONITORING\" = :Monitoring", dtMotive.Rows[0][0]) + segmentType + ((edit) ? string.Format(",COD_LEVEL={0}", codLevel) : "") + "\nWHERE COD_INCIDENCE = " + dtIncidentLogs[0]["COD_INCIDENCE"] + ";\n"; sql += "SELECT COD_INCIDENCE_LOG_SEQ.NEXTVAL INTO cod_incidence_log FROM DUAL;\n" + "INSERT INTO IN_INCIDENCE_LOGS (COD_INCIDENCE_LOG,COD_INCIDENCE, COD_LEVEL, COD_MOTIVE, COD_SEGMENT, COD_TYPE, DESCRIPTION,INCIDENCE_CAUSE, \"MONITORING\",LOG_DATE, USERNAME, IS_LEVEL_CHANGE_LOG, RECEIVED_CALLS, SCRIPT, TYPOLOGY,CRITICALITY,IN_COUNTRY_PK,SUBJECT,MAINTENANCE)\n" + String.Format("VALUES (cod_incidence_log,{7},{0},{1},{2},{3},'{4}','{5}',:Monitoring,sysdate,'{6}','N',{8},'{9}','{10}',{11},{12},'{13}','{14}');\n", (edit) ? codLevel : dtIncidentLogs[0]["COD_LEVEL"], /*((edit)? ddlStatus.SelectedValue:*/ dtMotive.Rows[0][0].ToString().Replace("'", "''"), (edit) ? codSegm : dtIncidentLogs[0]["COD_SEGMENT"], (edit) ? codType : dtIncidentLogs[0]["COD_TYPE"], dtIncidentLogs[0]["DESCRIPTION"].ToString().Replace("'", "''"), dtIncidentLogs[0]["INCIDENCE_CAUSE"].ToString().Replace("'", "''"), SafetyPad.GetUserLogin(), dtIncidentLogs[0]["COD_INCIDENCE"], dtIncidentLogs[0]["RECEIVED_CALLS"], dtIncidentLogs[0]["SCRIPT"].ToString().Replace("'", "''"), dtIncidentLogs[0]["TYPOLOGY"].ToString().Replace("'", "''"), criticalityLevel, dtIncidentLogs[0]["IN_COUNTRY_PK"], dtIncidentLogs[0]["SUBJECT"], dtIncidentLogs[0]["MAINTENANCE"]); sql += "\nCOMMIT;\nSELECT IN_OPERATIONS_API.INCIDENCE_REPORT_SENT_FUN(cod_incidence_log) INTO message FROM DUAL; "; sql += "\nEND;"; try { res = ConfigurationTool.ExecQueryParam(sql, strComment); taMotive.FillByOperations(dtMotive); /*taMotive.FillByCodMotive(dtMotive,decimal.Parse (ddlStatus.SelectedValue.ToString()));*/ lblState.Text = dtMotive.Rows[0][1].ToString(); populateGridComments(Convert.ToInt16(hidIncidentNumber.Value)); //txtIncident_TextChanged(null, null); wucMessageControl.Message = "La notificación se realizó correctamente!"; wucMessageControl.Title = "Mensaje"; wucMessageControl.Image = "../include/imagenes/info_32.png"; wucMessageControl.ShowPopup(); txtComment.Text = String.Empty; /*if (vfin) * { * ddlSegment.Enabled = false; * ddlType.Enabled = false; * //ddlStatus.Enabled = false; * txtComment.Enabled = false; * sendButton.Enabled = false; * }*/ } catch (Exception ex) { wucMessageControl.Message = ex.Message; wucMessageControl.Title = "Error"; wucMessageControl.Image = "../include/imagenes/error_32.png"; SafetyPad.SetLogRecord("Operations.aspx.cs", ex.ToString()); wucMessageControl.ShowPopup(); } } } catch (Exception ex) { SafetyPad.SetLogRecord("Operations.aspx.cs", ex.ToString()); } }
protected void txtIncident_TextChanged(object sender, EventArgs e) { try { Int16 l_noincident = Convert.ToInt16(((TextBox)sender).Text.Split('-')[0]); Solucion result = new Solucion(); Segment resp = new Segment(); Level resultLevel = new Level(); DataTable myResult = new DataTable(); String seqLevelT = string.Empty; decimal codSegm = 0; decimal codType = 0; dsIncidentNotification.IN_CAT_MOTIVESDataTable dtMotives = new dsIncidentNotification.IN_CAT_MOTIVESDataTable(); dsIncidentNotificationTableAdapters.IN_CAT_MOTIVESTableAdapter taMotives = new dsIncidentNotificationTableAdapters.IN_CAT_MOTIVESTableAdapter(); taMotives.FillByIncidence(dtMotives, l_noincident); hidIncidentNumber.Value = l_noincident.ToString(); if (dtMotives.Rows.Count > 0) { trState.Visible = true; trSegment.Visible = true; trType.Visible = true; //trStatus.Visible = true; //Se obtiene los valores, código segmento, código tipo y país. myResult = result.GetSegmentType(decimal.Parse(hidIncidentNumber.Value)); if (myResult != null) { //se guardan en variables hdfCountry.Value = myResult.Rows[0]["IN_COUNTRY_PK"].ToString(); codSegm = decimal.Parse(myResult.Rows[0]["COD_SEGMENT"].ToString()); codType = decimal.Parse(myResult.Rows[0]["COD_TYPE"].ToString()); //Se obtienene solamente los segmentos según el país de la incidencia resp.GetSegmentsByCountryAct(decimal.Parse(hdfCountry.Value)); //Se llena el combo de segmentos ddlSegment.DataSource = resp.SegmentsTable.Select("RECORD_STATUS = 1");; ddlSegment.DataValueField = resp.SegmentsTable.COD_SEGMENTColumn.ColumnName; ddlSegment.DataTextField = resp.SegmentsTable.SEGMENT_NAMEColumn.ColumnName; //Se le asigna el valor del segmento al combo ddlSegment.SelectedValue = codSegm.ToString(); ddlSegment_SelectedIndexChanged(null, null); //Se cargan los tipos según el segmento seleccionado try { ddlType.SelectedValue = codType.ToString(); //Se asigna el valor del tipo } catch { } if (String.IsNullOrEmpty(ddlType.SelectedValue.ToString())) { codLevelChg = resultLevel.GetCodLevelType(decimal.Parse(ddlType.SelectedValue)).ToString(); } else { codLevelChg = "0"; } } //Verificar si están todas las configuraciones para mostrar los datos de Segmento y Tipo VerifyEditSegmentType(); lblState.Text = dtMotives.Rows[0][1].ToString(); populateGridComments(l_noincident); if (lblState.Text.Trim().Contains("FIN")) { txtComment.Enabled = false; sendButton.Enabled = false; ddlSegment.Enabled = false; ddlType.Enabled = false; //trStatus.Visible = false; } else { txtComment.Enabled = true; sendButton.Enabled = true; ddlSegment.Enabled = true; ddlType.Enabled = true; // trStatus.Visible = true; } } else { trState.Visible = false; } } catch (Exception ex) { } }