コード例 #1
0
ファイル: HomeController.cs プロジェクト: wigtor/SigOSO_PBD
        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();
        }
コード例 #2
0
ファイル: HomeController.cs プロジェクト: wigtor/SigOSO_PBD
        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);
            }
        }
コード例 #3
0
ファイル: HomeController.cs プロジェクト: wigtor/SigOSO_PBD
        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");
        }