public ActionResult ModificarTrabajador(agregarTrabajadorModel trabajadorMod, string btn_submit, string es_activo) { ViewBag.listaPerfiles = perfilTrabajadorModel.getListaPerfilesTrabajadores(); ViewBag.listaDias = getListaDias(); ViewBag.listaMeses = getListaMeses(); if (btn_submit == null) { return View(trabajadorMod); } if (btn_submit.Equals("Cargar")) //Se esta cargando un trabajador { if (ModelState.IsValidField("rut")) { string query = "SELECT * FROM trabajador WHERE rut_trabajador = '" + trabajadorMod.rut + "'"; NpgsqlDataReaderWithConection lector = null; try { lector = DBConector.SELECT(query); if (lector.Read()) { ModelState.Clear(); trabajadorMod.rut = lector["rut_trabajador"]; trabajadorMod.nombre = lector["nombre_trabajador"]; trabajadorMod.id_perfil = lector["id_perfil"]; trabajadorMod.telefono1 = lector["tel1_trabajador"]; trabajadorMod.telefono2 = lector["tel2_trabajador"]; trabajadorMod.correo = lector["mail_trabajador"]; trabajadorMod.direccion = lector["direccion_trabajador"]; trabajadorMod.comuna = lector["comuna_trabajador"]; trabajadorMod.iniciales = lector["iniciales_trabajador"]; DateTime fecha_ini_contrato = lector.GetDateTime(lector.GetOrdinal("fecha_ini_contrato_trabajador")); DateTimeFormatInfo dtinfo = new CultureInfo("es-ES", false).DateTimeFormat; trabajadorMod.dia_ini_contrato = fecha_ini_contrato.Day.ToString(); trabajadorMod.mes_ini_contrato = dtinfo.GetMonthName(fecha_ini_contrato.Month); trabajadorMod.agno_ini_contrato = fecha_ini_contrato.Year.ToString(); DateTime fecha_fin_contrato = lector.GetDateTime(lector.GetOrdinal("fecha_fin_contrato_trabajador")); trabajadorMod.dia_fin_contrato = fecha_fin_contrato.Day.ToString(); trabajadorMod.mes_fin_contrato = fecha_fin_contrato.Month.ToString(); trabajadorMod.agno_fin_contrato = fecha_fin_contrato.Year.ToString(); ViewBag.trabajadorActivo = lector["esta_activo"]; lector.Dispose(); lector.Close(); lector.closeConection(); return View(trabajadorMod); } else { ModelState.Clear(); ModelState.AddModelError("rut", "El rut insertado no existe"); } } catch (Exception) { ViewBag.respuestaPost = DBConector.msjError;//ex.Message; } if (lector != null) { lector.Dispose(); lector.Close(); lector.closeConection(); } } else { string mensaje = "El rut ingresado no es válido"; ModelState.Clear(); ModelState.AddModelError("rut", mensaje); } } else if (btn_submit.Equals("Guardar cambios")) //Se presionó el botón para guardar cambios { bool es_activoBool = true; if (es_activo.Equals("false")) { es_activoBool = false; //SI ES FALSO ENTONCES HAY QUE COMPROBAR SI YA PERTENECE A UNA CUADRILLA } string fecha_fin_contrato; int diaEscogido, mesContrato, agno_contrato, diasDelMes; if (trabajadorMod.dia_fin_contrato != null || trabajadorMod.mes_fin_contrato != null || trabajadorMod.agno_fin_contrato != null) { if (!Int32.TryParse(trabajadorMod.dia_fin_contrato, out diaEscogido)) { ModelState.AddModelError("dia_fin_contrato", "No ha seleccionado un día del mes"); return View(trabajadorMod); } if (!Int32.TryParse(trabajadorMod.mes_fin_contrato, out mesContrato)) { ModelState.AddModelError("mes_fin_contrato", "No ha seleccionado un mes"); return View(trabajadorMod); } if (!Int32.TryParse(trabajadorMod.agno_fin_contrato, out agno_contrato)) { ModelState.AddModelError("agno_fin_contrato", "El año introducido no es válido"); return View(trabajadorMod); } diasDelMes = DateTime.DaysInMonth(agno_contrato, mesContrato); if (diasDelMes < diaEscogido) { ModelState.AddModelError("dia_fin_contrato", "El día seleccionado no es válido para el més seleccionado"); return View(trabajadorMod); } if (agno_contrato < 1900 || agno_contrato > 2100) { ModelState.AddModelError("agno_fin_contrato", "Que año más extraño, ¿Está seguro?"); return View(trabajadorMod); } if (mesContrato < 1 || mesContrato > 12) { ModelState.AddModelError("mes_fin_contrato", "El més seleccionado no es válido"); return View(trabajadorMod); } fecha_fin_contrato = trabajadorMod.dia_fin_contrato + "-" + trabajadorMod.mes_fin_contrato + "-" + trabajadorMod.agno_fin_contrato; } else { fecha_fin_contrato = null; } if (ModelState.IsValid) { string query = "UPDATE trabajador SET id_perfil='" + trabajadorMod.id_perfil + "', nombre_trabajador='" + trabajadorMod.nombre + "', iniciales_trabajador='" + trabajadorMod.iniciales + "', direccion_trabajador='" + trabajadorMod.direccion + "', comuna_trabajador='" + trabajadorMod.comuna + "', tel1_trabajador='" + trabajadorMod.telefono1 + "', tel2_trabajador='" + trabajadorMod.telefono2 + "', mail_trabajador='" + trabajadorMod.correo + "', esta_activo='" + es_activoBool + "'"; if (fecha_fin_contrato != null) { query += ", fecha_fin_contrato_trabajador='" + fecha_fin_contrato + "'"; } query += " WHERE rut_trabajador='" + trabajadorMod.rut + "'"; try { int cantidadInsertada = DBConector.UPDATE(query); ViewBag.respuestaPost = "Se han guardado correctamente los datos del trabajador"; } catch (Exception) { ViewBag.respuestaPost = DBConector.msjError;//ex.Message; } return View(); //return RedirectToAction("Index", "home"); } else { return View(trabajadorMod); } } else //Se presionó cualquier otra cosa, no se usa { } return View(); }
public ActionResult AgregarTrabajador(agregarTrabajadorModel nvoTrabajador) { ViewBag.listaPerfiles = perfilTrabajadorModel.getListaPerfilesTrabajadores(); ViewBag.listaDias = getListaDias(); ViewBag.listaMeses = getListaMeses(); int diaEscogido, mesContrato, agno_contrato, diasDelMes; if (!Int32.TryParse(nvoTrabajador.dia_ini_contrato, out diaEscogido)) { ModelState.AddModelError("dia_ini_contrato", "No ha seleccionado un día del mes"); return View(nvoTrabajador); } if (!Int32.TryParse(nvoTrabajador.mes_ini_contrato, out mesContrato)) { ModelState.AddModelError("mes_ini_contrato", "No ha seleccionado un mes"); return View(nvoTrabajador); } if (!Int32.TryParse(nvoTrabajador.agno_ini_contrato, out agno_contrato)) { ModelState.AddModelError("agno_ini_contrato", "El año introducido no es válido"); return View(nvoTrabajador); } diasDelMes = DateTime.DaysInMonth(agno_contrato, mesContrato); if (diasDelMes < diaEscogido) { ModelState.AddModelError("dia_ini_contrato", "El día seleccionado no es válido para el més seleccionado"); return View(nvoTrabajador); } if (agno_contrato < 1900 || agno_contrato > 2100) { ModelState.AddModelError("agno_ini_contrato", "Que año más extraño, ¿Está seguro?"); return View(nvoTrabajador); } if (mesContrato < 1 || mesContrato > 12) { ModelState.AddModelError("mes_ini_contrato", "El més seleccionado no es válido"); return View(nvoTrabajador); } if (ModelState.IsValid) { string fecha_ini_contrato = nvoTrabajador.dia_ini_contrato+"-"+nvoTrabajador.mes_ini_contrato+"-"+nvoTrabajador.agno_ini_contrato; string query = "INSERT INTO trabajador (id_perfil, rut_trabajador, nombre_trabajador, iniciales_trabajador, direccion_trabajador, comuna_trabajador, tel1_trabajador, tel2_trabajador, mail_trabajador, fecha_ini_contrato_trabajador, esta_activo) VALUES ( '" + nvoTrabajador.id_perfil + "','" + nvoTrabajador.rut + "', '" + nvoTrabajador.nombre + "', '" + nvoTrabajador.iniciales + "', '" + nvoTrabajador.direccion + "', '" + nvoTrabajador.comuna + "', '" + nvoTrabajador.telefono1 + "', '" + nvoTrabajador.telefono2 + "', '" + nvoTrabajador.correo + "', '"+fecha_ini_contrato+"', 'TRUE')"; NpgsqlDataReaderWithConection lector = null; try { string query2 = "SELECT rut_trabajador FROM trabajador WHERE rut_trabajador = '" + nvoTrabajador.rut + "'"; lector = DBConector.SELECT(query2); if (lector.HasRows) { ModelState.AddModelError("rut", "Ya existe un trabajador con ese rut"); lector.Dispose(); lector.Close(); lector.closeConection(); ViewBag.respuestaPost = ""; return View(nvoTrabajador); } int cantidadInsertada = DBConector.INSERT(query); ViewBag.respuestaPost = "Se ha creado correctamente el trabajador"; } catch (Exception) { ViewBag.respuestaPost = DBConector.msjError;//ex.Message; } if (lector != null) { lector.Dispose(); lector.Close(); lector.closeConection(); } return View(); //return RedirectToAction("AgregarTrabajador", "home"); } else { return View(nvoTrabajador); } }
public ActionResult EliminarTrabajador(agregarTrabajadorModel trabajadorMod, string btn_submit, string es_activo) { ViewBag.listaPerfiles = perfilTrabajadorModel.getListaPerfilesTrabajadores(); ViewBag.listaDias = getListaDias(); ViewBag.listaMeses = getListaMeses(); if (btn_submit == null) { return View(trabajadorMod); } if (btn_submit.Equals("Cargar")) //Se esta cargando un trabajador { if (ModelState.IsValidField("rut")) { string query = "SELECT * FROM trabajador WHERE rut_trabajador = '" + trabajadorMod.rut + "'"; NpgsqlDataReaderWithConection lector = null; try { lector = DBConector.SELECT(query); if (lector.Read()) { ModelState.Clear(); trabajadorMod.rut = lector["rut_trabajador"]; trabajadorMod.nombre = lector["nombre_trabajador"]; trabajadorMod.id_perfil = lector["id_perfil"]; trabajadorMod.telefono1 = lector["tel1_trabajador"]; trabajadorMod.telefono2 = lector["tel2_trabajador"]; trabajadorMod.correo = lector["mail_trabajador"]; trabajadorMod.direccion = lector["direccion_trabajador"]; trabajadorMod.comuna = lector["comuna_trabajador"]; trabajadorMod.iniciales = lector["iniciales_trabajador"]; DateTime fecha_ini_contrato = lector.GetDateTime(lector.GetOrdinal("fecha_ini_contrato_trabajador")); DateTimeFormatInfo dtinfo = new CultureInfo("es-ES", false).DateTimeFormat; trabajadorMod.dia_ini_contrato = fecha_ini_contrato.Day.ToString(); trabajadorMod.mes_ini_contrato = dtinfo.GetMonthName(fecha_ini_contrato.Month); trabajadorMod.agno_ini_contrato = fecha_ini_contrato.Year.ToString(); if (lector.GetOrdinal("fecha_fin_contrato_trabajador") < 0) { DateTime fecha_fin_contrato = lector.GetDateTime(lector.GetOrdinal("fecha_fin_contrato_trabajador")); trabajadorMod.dia_fin_contrato = fecha_fin_contrato.Day.ToString(); trabajadorMod.mes_fin_contrato = fecha_fin_contrato.Month.ToString(); trabajadorMod.agno_fin_contrato = fecha_fin_contrato.Year.ToString(); } ViewBag.trabajadorActivo = lector.GetBoolean(lector.GetOrdinal("esta_activo")); lector.Dispose(); lector.Close(); lector.closeConection(); return View(trabajadorMod); } else { ModelState.Clear(); ModelState.AddModelError("rut", "El rut insertado no existe"); } } catch (Exception) { } lector.Dispose(); lector.Close(); lector.closeConection(); } else { string mensaje = "El rut ingresado no es válido"; ModelState.Clear(); ModelState.AddModelError("rut", mensaje); } } else if (btn_submit.Equals("Eliminar")) { if (ModelState.IsValidField("rut")) { try { string query = "DELETE FROM trabajador WHERE rut_trabajador = '" + trabajadorMod.rut + "'"; DBConector.DELETE(query); } catch (Exception) { } } else { return View(trabajadorMod); } } return View(); //return RedirectToAction("EliminarTrabajador", "home"); }