PageRenderTime 48ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/Incidentes/Incidentes/Operaciones/Incidentes.aspx.cs

https://gitlab.com/angelogalindo/proyectoseminarioanalisis
C# | 258 lines | 215 code | 34 blank | 9 comment | 29 complexity | c9eabc2dd603f2d31a8602e9a47b15cc MD5 | raw file
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. //Agregar a todo
  8. using CAD;
  9. using MySql.Data.MySqlClient;
  10. using System.Data;
  11. using Telerik.Web.UI;
  12. namespace Incidentes.Operaciones
  13. {
  14. public partial class Incidentes : System.Web.UI.Page
  15. {
  16. public enum enumEstados
  17. {
  18. SinEstado,
  19. Nuevo,
  20. Editando
  21. };
  22. const int IDOpcionCrear = 2;
  23. const int IDOpcionComentar = 3;
  24. enumEstados Estado;
  25. CAD_Mysql cls = new CAD_Mysql();
  26. MySqlParameterCollection Parametros = new MySqlCommand().Parameters;
  27. private void EventoError(string DescripcionError)
  28. {
  29. lblMensajes.Text = DescripcionError;
  30. }
  31. protected void Page_Load(object sender, EventArgs e)
  32. {
  33. cls.onError += EventoError;
  34. lblMensajes.Text = "";
  35. if (!IsPostBack)
  36. {
  37. if (Session["enumEstados"] != null)
  38. {
  39. if ((enumEstados)Convert.ToInt16(Session["enumEstados"]) == enumEstados.Editando)
  40. {
  41. if (Session["idincidente"] != null)
  42. {
  43. CargarIncidente(Convert.ToInt16(Session["idincidente"]));
  44. }
  45. }
  46. EstadosIncidentes();
  47. }
  48. else
  49. {
  50. Response.Redirect("ListadoIncidentes.aspx");
  51. }
  52. }
  53. }
  54. protected void cmdGuardar_Click(object sender, EventArgs e)
  55. {
  56. if (IsValid)
  57. {
  58. try
  59. {
  60. Estado = (enumEstados)Convert.ToInt16(Session["enumEstados"]);
  61. Int16 IDPk = (Estado == enumEstados.Nuevo ? Convert.ToInt16(cls.Max("incidentes", "idincidente")) : Convert.ToInt16(txtIDIncidente.Text));
  62. Parametros.Add("@idincidente", MySqlDbType.Int16).Value = IDPk;
  63. Parametros.Add("@asunto", MySqlDbType.VarChar, 30).Value = txtAsunto.Text;
  64. Parametros.Add("@idsolicitante", MySqlDbType.Int16).Value = cboSolicitantes.SelectedValue;
  65. Parametros.Add("@descripcion", MySqlDbType.VarChar, 300).Value = txtDescripcion.Text;
  66. Parametros.Add("@idsubcategoria", MySqlDbType.Int16).Value = cboSubcategorias.SelectedValue;
  67. Parametros.Add("@idprioridad", MySqlDbType.Int16).Value = cboPrioridades.SelectedValue;
  68. Parametros.Add("@idestado", MySqlDbType.Int16).Value = cboEstados.SelectedValue;
  69. Parametros.Add("@idusuario", MySqlDbType.Int16).Value = Session["IDUsuario"];
  70. if (Estado == enumEstados.Nuevo)
  71. {
  72. Parametros.Add("@fechahoraincidente", MySqlDbType.DateTime).Value = DateTime.Now;
  73. }
  74. if (Estado == enumEstados.Nuevo)
  75. {
  76. if (cls.IngresarDatosNuevos("incidentes", Parametros, Convert.ToInt16(Session["IDUsuario"]), IDOpcionCrear))
  77. {
  78. Session["enumEstados"] = Convert.ToString((Int16)enumEstados.Editando);
  79. Estado = (enumEstados)Convert.ToInt16(Session["enumEstados"]);
  80. EstadosIncidentes();
  81. txtIDIncidente.Text = Convert.ToString(IDPk);
  82. ScriptManager.RegisterStartupScript(this, typeof(Page), "confirmacion", "alert('Incidente Almacenado');", true);
  83. }
  84. }
  85. else if(Estado == enumEstados.Editando)
  86. {
  87. if(cboEstados.SelectedValue == "2" ){
  88. Session["enumEstados"] = Convert.ToString((Int16)enumEstados.SinEstado);
  89. Parametros.Add("@fechahoracierre", MySqlDbType.DateTime).Value = DateTime.Now;
  90. }
  91. if (cls.ActualizarDatos("incidentes", "idincidente", Convert.ToInt16(txtIDIncidente.Text), Parametros, Convert.ToInt16(Session["IDUsuario"]), IDOpcionCrear))
  92. {
  93. EstadosIncidentes();
  94. ScriptManager.RegisterStartupScript(this, typeof(Page), "confirmacion", "alert('Incidente Actualizado');", true);
  95. }
  96. }
  97. Parametros.Clear();
  98. }
  99. catch (Exception ex)
  100. {
  101. cls.LevantarError(ex);
  102. }
  103. }
  104. }
  105. protected void cmdEliminar_Click(object sender, EventArgs e)
  106. {
  107. }
  108. private void EstadosIncidentes()
  109. {
  110. Estado = (enumEstados)Convert.ToInt16(Session["enumEstados"]);
  111. switch (Estado)
  112. {
  113. case enumEstados.SinEstado:
  114. //Botones
  115. cmdGuardar.Enabled = false;
  116. cmdEliminar.Enabled = false;
  117. //Controles
  118. txtAsunto.Enabled = false;
  119. cboSolicitantes.Enabled = false;
  120. txtDescripcion.Enabled = false;
  121. cboCategorias.Enabled = false;
  122. cboSubcategorias.Enabled = false;
  123. cboPrioridades.Enabled = false;
  124. cboEstados.Enabled = false;
  125. cmdGuardarComentarios.Enabled = false;
  126. editComentarios.Enabled = false;
  127. break;
  128. case enumEstados.Nuevo:
  129. //Botones
  130. cmdGuardar.Enabled = true;
  131. cmdEliminar.Enabled = false;
  132. //Controles
  133. txtAsunto.Enabled = true;
  134. cboSolicitantes.Enabled = true;
  135. txtDescripcion.Enabled = true;
  136. cboCategorias.Enabled = true;
  137. cboSubcategorias.Enabled = true;
  138. cboPrioridades.Enabled = true;
  139. cboEstados.Enabled = false;
  140. pnlComentarios.Visible = false;
  141. //Carga Fecha y Hora
  142. txtFechayHoraCreacion.Text = DateTime.Now.ToString();
  143. cboEstados.SelectedValue = "1";
  144. break;
  145. case enumEstados.Editando:
  146. //Botones
  147. cmdGuardar.Enabled = true;
  148. cmdEliminar.Enabled = true;
  149. //Controles
  150. txtAsunto.Enabled = true;
  151. cboSolicitantes.Enabled = true;
  152. txtDescripcion.Enabled = true;
  153. cboCategorias.Enabled = true;
  154. cboSubcategorias.Enabled = true;
  155. cboPrioridades.Enabled = true;
  156. cboEstados.Enabled = true;
  157. pnlComentarios.Visible = true;
  158. break;
  159. }
  160. }
  161. private void CargarIncidente(Int16 IDIncidente)
  162. {
  163. DataTable dtIncidentes = new DataTable();
  164. Parametros.Add("@idincidente", MySqlDbType.Int16).Value = IDIncidente;
  165. dtIncidentes = cls.RetornarDatos("view_listadoincidentes", "*", Parametros, "idincidente=@idincidente");
  166. if (dtIncidentes.Rows.Count == 1)
  167. {
  168. txtIDIncidente.Text = dtIncidentes.Rows[0]["idincidente"].ToString();
  169. txtAsunto.Text = dtIncidentes.Rows[0]["asunto"].ToString();
  170. cboSolicitantes.SelectedValue = dtIncidentes.Rows[0]["idsolicitante"].ToString();
  171. txtDescripcion.Text = dtIncidentes.Rows[0]["descripcion"].ToString();
  172. cboCategorias.SelectedValue = dtIncidentes.Rows[0]["idcategoria"].ToString();
  173. cboSubcategorias.SelectedValue = dtIncidentes.Rows[0]["idsubcategoria"].ToString();
  174. cboPrioridades.SelectedValue = dtIncidentes.Rows[0]["idprioridad"].ToString();
  175. cboEstados.SelectedValue = dtIncidentes.Rows[0]["idestado"].ToString();
  176. txtFechayHoraCreacion.Text = dtIncidentes.Rows[0]["fechahoraincidente"].ToString();
  177. txtFechayHoraCierre.Text = dtIncidentes.Rows[0]["fechahoracierre"].ToString();
  178. if (dtIncidentes.Rows[0]["idestado"].ToString() == "2")
  179. {
  180. Session["enumEstados"] = Convert.ToString((Int16)enumEstados.SinEstado);
  181. }
  182. //Verifica si tiene permiso de comentar
  183. Parametros.Clear();
  184. Parametros.Add("@idopcion", MySqlDbType.Int16).Value = IDOpcionComentar;
  185. Parametros.Add("@idusuario", MySqlDbType.Int16).Value = Convert.ToInt16(Session["IDUsuario"]);
  186. if( Convert.ToString(cls.RetornarValor("view_verificarpermisos", "idopcion", Parametros)) == IDOpcionComentar.ToString()){
  187. editComentarios.Enabled = true;
  188. cmdGuardarComentarios.Enabled = true;
  189. }
  190. else
  191. {
  192. editComentarios.Enabled = false;
  193. cmdGuardarComentarios.Enabled = false;
  194. }
  195. }
  196. Parametros.Clear();
  197. }
  198. protected void cmdGuardarComentarios_Click(object sender, EventArgs e)
  199. {
  200. if (IsValid)
  201. {
  202. try
  203. {
  204. Int16 IDPk =Convert.ToInt16(cls.Max("comentariosincidente", "idcomentario"));
  205. Parametros.Add("@idcomentario", MySqlDbType.Int16).Value = IDPk;
  206. Parametros.Add("@idincidente", MySqlDbType.Int16).Value = txtIDIncidente.Text;
  207. Parametros.Add("@idusuario", MySqlDbType.Int16).Value = Session["IDUsuario"];
  208. Parametros.Add("@comentario", MySqlDbType.VarChar, 300).Value = editComentarios.Content;
  209. Parametros.Add("@fechahoracomentario", MySqlDbType.DateTime).Value = DateTime.Now;
  210. if (cls.IngresarDatosNuevos("comentariosincidente", Parametros, Convert.ToInt16(Session["IDUsuario"]), IDOpcionComentar))
  211. {
  212. ltvComentarios.DataBind();
  213. editComentarios.Content = "";
  214. ScriptManager.RegisterStartupScript(this, typeof(Page), "confirmacion", "alert('Comentario ingresado');", true);
  215. }
  216. }
  217. catch(Exception ex)
  218. {
  219. cls.LevantarError(ex);
  220. }
  221. }
  222. }
  223. }
  224. }