protected void btnAlmuerzoSalida_Click(object sender, ImageClickEventArgs e) { try { this.controlHorario = this.controlHorarioBL.consultarDia(TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, "Central America Standard Time"), this.colaborador); if (this.controlHorario != null) { if (this.controlHorario.horaInicioAlmuerzo.Year == 1) { this.controlHorario.horaInicioAlmuerzo = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, "Central America Standard Time"); this.controlHorarioBL.inicioAlmuerzo(this.controlHorario); this.lblMensaje.Text = "Registrado completado."; this.lblMensaje.CssClass = "successMessage"; } else { this.lblMensaje.Text = "SALIDA de almuerzo ya registrado."; this.lblMensaje.CssClass = "errorMessage"; } } else { this.lblMensaje.Text = "Debe registrar la ENTRADA primero."; this.lblMensaje.CssClass = "errorMessage"; } } catch (Exception ex) { this.lblMensaje.Text = ex.Message; this.lblMensaje.CssClass = "errorMessage"; } finally { this.cargarDatos(); } }
protected void btnRegistroSalida_Click(object sender, ImageClickEventArgs e) { try { int hora = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, "Central America Standard Time").Hour; if (hora>= 0 && hora <= 3){ this.controlHorario = this.controlHorarioBL.consultarDia(TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, "Central America Standard Time").AddDays(-1), this.colaborador); }else{ this.controlHorario = this.controlHorarioBL.consultarDia(TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, "Central America Standard Time"), this.colaborador); } if (this.controlHorario != null) { if (this.controlHorario.horaSalida.Year == 1) { this.controlHorario.usuarioModificacion = Session["usuario"].ToString(); this.controlHorario.horaSalida = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, "Central America Standard Time"); this.controlHorario.ipSalida = this.GetIPAddress(); // deben pasar mas de 5 minustos para poder marcar la salida TimeSpan tiempoTranscurrido = this.controlHorario.horaSalida.Subtract(this.controlHorario.horaEntrada); if (tiempoTranscurrido > (new TimeSpan(0, 5, 0))) { this.controlHorarioBL.modificar(this.controlHorario); this.lblMensaje.Text = "Registrado completado."; this.lblMensaje.CssClass = "successMessage"; } else { this.lblMensaje.Text = "Deben pasar más de 5 minutos para poder marcar la SALIDA. Tiempo: 00:" + tiempoTranscurrido.ToString("mm") + ":" + tiempoTranscurrido.ToString("ss"); this.lblMensaje.CssClass = "errorMessage"; } } else { this.lblMensaje.Text = "SALIDA ya registrada."; } this.lblMensaje.CssClass = "errorMessage"; } else { this.lblMensaje.Text = "Debe registrar la ENTRADA primero."; this.lblMensaje.CssClass = "errorMessage"; } } catch (Exception ex) { this.lblMensaje.Text = ex.Message; this.lblMensaje.CssClass = "errorMessage"; } finally { this.cargarDatos(); } }
protected void btnRegistroEntrada_Click(object sender, ImageClickEventArgs e) { try { this.controlHorario = this.controlHorarioBL.consultarDia(TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, "Central America Standard Time"), this.colaborador); if (this.controlHorario == null) { this.controlHorario = new ControlHorario(); this.controlHorario.usuarioCreacion = Session["usuario"].ToString(); this.controlHorario.colaborador.idColaborador = this.colaborador; this.controlHorario.horaEntrada = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, "Central America Standard Time"); this.controlHorario.ipEntrada = this.GetIPAddress(); this.controlHorarioBL.nuevo(this.controlHorario); this.lblMensaje.Text = "Registrado completado."; this.lblMensaje.CssClass = "successMessage"; } else { this.lblMensaje.Text = "ENTRADA ya registrada."; this.lblMensaje.CssClass = "errorMessage"; } }catch(Exception ex){ this.lblMensaje.Text = ex.Message; this.lblMensaje.CssClass = "errorMessage"; } finally { this.cargarDatos(); } }
protected void btnAmuerzoEntrada_Click(object sender, ImageClickEventArgs e) { try { this.controlHorario = this.controlHorarioBL.consultarDia(TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, "Central America Standard Time"), this.colaborador); if (this.controlHorario != null) { if (this.controlHorario.horaInicioAlmuerzo.Year != 1) { if (this.controlHorario.horaFinAlmuerzo.Year == 1) { this.controlHorario.horaFinAlmuerzo = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, "Central America Standard Time"); TimeSpan tiempoTranscurrido = this.controlHorario.horaFinAlmuerzo.Subtract(this.controlHorario.horaInicioAlmuerzo); if (tiempoTranscurrido > (new TimeSpan(0, 5, 0))) { this.controlHorarioBL.finAlmuerzo(this.controlHorario); this.lblMensaje.Text = "Registrado completado."; this.lblMensaje.CssClass = "successMessage"; } else { this.lblMensaje.Text = "Deben pasar más de 5 minutos para poder marcar la ENTRADA. Tiempo: 00:" + tiempoTranscurrido.ToString("mm") + ":" + tiempoTranscurrido.ToString("ss"); this.lblMensaje.CssClass = "errorMessage"; } } else { this.lblMensaje.Text = "ENTRADA de almuerzo ya registrado."; this.lblMensaje.CssClass = "errorMessage"; } } else { this.lblMensaje.Text = "Debe registrar la SALIDA al almuerzo primero."; this.lblMensaje.CssClass = "errorMessage"; } } else { this.lblMensaje.Text = "Debe registrar la ENTRADA primero."; this.lblMensaje.CssClass = "errorMessage"; } } catch (Exception ex) { this.lblMensaje.Text = ex.Message; this.lblMensaje.CssClass = "errorMessage"; } finally { this.cargarDatos(); } }
/// <summary> /// consulta una ControlHorario /// </summary> /// <param name="dato"></param> /// <returns></returns> public ControlHorario consultarId(ControlHorario dato) { using (Database db = DatabaseFactory.openDatabase("rh_db")) { MySqlCommand comando = new MySqlCommand("sp_control_horario_SELECT_ByID"); comando.CommandType = CommandType.StoredProcedure; comando.Parameters.AddWithValue("p_idControlHorario", dato.idControlHorario); //Despues del comando indicar el nombre de la tabla DataSet ds = db.executeReader(comando, "control_horario"); if (ds.Tables[0].Rows.Count > 0) { DataRow row = ds.Tables[0].Rows[0]; if (!row["idControlHorario"].ToString().Equals("")) dato.idControlHorario = Int32.Parse(row["idControlHorario"].ToString()); if (!row["horaEntrada"].ToString().Equals("")) dato.horaEntrada = DateTime.Parse(row["horaEntrada"].ToString()); if (!row["horaSalida"].ToString().Equals("")) dato.horaSalida = DateTime.Parse(row["horaSalida"].ToString()); if (!row["colaborador"].ToString().Equals("")) dato.colaborador.idColaborador = Int32.Parse(row["colaborador"].ToString()); if (!row["horaInicioAlmuerzo"].ToString().Equals("")) dato.horaInicioAlmuerzo = DateTime.Parse(row["horaInicioAlmuerzo"].ToString()); if (!row["horaFinAlmuerzo"].ToString().Equals("")) dato.horaFinAlmuerzo = DateTime.Parse(row["horaFinAlmuerzo"].ToString()); if (!row["tipoDia"].ToString().Equals("")) dato.tipoDia = row["tipoDia"].ToString(); if (!row["ipEntrada"].ToString().Equals("")) dato.ipEntrada = row["ipEntrada"].ToString(); if (!row["ipSalida"].ToString().Equals("")) dato.ipSalida = row["ipSalida"].ToString(); //Para indicar los datos del usuario if (!row["usuarioCreacion"].ToString().Equals("")) dato.usuarioCreacion = row["usuarioCreacion"].ToString(); if (!row["usuarioModificacion"].ToString().Equals("")) dato.usuarioModificacion = row["usuarioModificacion"].ToString(); //Indicamos los valores de las fechas if (!row["fechaCreacion"].ToString().Equals("")) dato.fechaCreacion = DateTime.Parse(row["fechaCreacion"].ToString()); if (!row["fechaModificacion"].ToString().Equals("")) dato.fechaModificacion = DateTime.Parse(row["fechaModificacion"].ToString()); } else { dato = null; } return dato; } }
/// <summary> /// crea una ControlHorario nuevo /// </summary> /// <param name="dato"></param> /// Se crea un dato de tipo ControlHorario public void nuevo(ControlHorario dato) { using (Database db = DatabaseFactory.openDatabase("rh_db")) { //Agregamos la instruccion con el stored procedure MySqlCommand comando = new MySqlCommand("sp_control_horario_INSERT"); comando.CommandType = CommandType.StoredProcedure; comando.Parameters.AddWithValue("p_colaborador", dato.colaborador.idColaborador); comando.Parameters.AddWithValue("p_horaEntrada", dato.horaEntrada); if (dato.horaSalida.Year > 2000){ comando.Parameters.AddWithValue("p_horaSalida", dato.horaSalida); } else { comando.Parameters.AddWithValue("p_horaSalida", null); } comando.Parameters.AddWithValue("p_usuarioCreacion", dato.usuarioCreacion); comando.Parameters.AddWithValue("p_ipEntrada", dato.ipEntrada); db.executeNonQuery(comando); } }
/// <summary> /// modifica una ControlHorario /// </summary> /// <param name="dato"></param> public void modificar(ControlHorario dato) { using (Database db = DatabaseFactory.openDatabase("rh_db")) { MySqlCommand comando = new MySqlCommand("sp_control_horario_UPDATE"); comando.CommandType = CommandType.StoredProcedure; comando.Parameters.AddWithValue("p_idControlHorario", dato.idControlHorario); comando.Parameters.AddWithValue("p_colaborador", dato.colaborador.idColaborador); comando.Parameters.AddWithValue("p_horaEntrada", dato.horaEntrada); if (dato.horaSalida.Year > 2000) { comando.Parameters.AddWithValue("p_horaSalida", dato.horaSalida); } else { comando.Parameters.AddWithValue("p_horaSalida", null); } comando.Parameters.AddWithValue("p_usuarioModificacion", dato.usuarioModificacion); comando.Parameters.AddWithValue("p_ipSalida", dato.ipSalida); db.executeNonQuery(comando); } }
/// <summary> /// modifica una ControlHorario /// </summary> /// <param name="dato"></param> public void inicioAlmuerzo(ControlHorario dato) { if (this.existe(dato)) { this.controlHorarioDA.inicioAlmuerzo(dato); } else { throw new Exception("No existe el registro."); } }
/// <summary> /// verifica si existe una ControlHorario /// </summary> /// <param name="dato"></param> /// <returns>TRUE si existe FALSE en caso contrario</returns> public bool existe(ControlHorario dato) { ControlHorario objeto = new ControlHorario(); using (Database db = DatabaseFactory.openDatabase("rh_db")) { MySqlCommand comando = new MySqlCommand("sp_control_horario_SELECT_ByID"); comando.CommandType = CommandType.StoredProcedure; comando.Parameters.AddWithValue("p_idControlHorario", dato.idControlHorario); DataSet ds = db.executeReader(comando, "control_horario"); if (ds.Tables[0].Rows.Count > 0) { return true; } else { return false; } } }
/// <summary> /// elimina una ControlHorario /// </summary> /// <param name="dato"></param> public void eliminar(ControlHorario dato) { using (Database db = DatabaseFactory.openDatabase("rh_db")) { MySqlCommand comando = new MySqlCommand("sp_control_horario_DELETE"); comando.CommandType = CommandType.StoredProcedure; comando.Parameters.AddWithValue("p_idControlHorario", dato.idControlHorario); db.executeNonQuery(comando); } }
/// <summary> /// consulta todas las control_horario /// </summary> /// <returns>List</returns> public List<ControlHorario> consultarTodos() { using (Database db = DatabaseFactory.openDatabase("rh_db")) { List<ControlHorario> lista = new List<ControlHorario>(); MySqlCommand comando = new MySqlCommand("sp_control_horario_SELECT_all"); comando.CommandType = CommandType.StoredProcedure; //Despues del comando indicar el nombre de la tabla DataSet ds = db.executeReader(comando, "control_horario"); foreach (DataRow row in ds.Tables[0].Rows) { ControlHorario dato = new ControlHorario(); if (!row["idControlHorario"].ToString().Equals("")) dato.idControlHorario = Int32.Parse(row["idControlHorario"].ToString()); if (!row["horaEntrada"].ToString().Equals("")) dato.horaEntrada = DateTime.Parse(row["horaEntrada"].ToString()); if (!row["horaSalida"].ToString().Equals("")) dato.horaSalida = DateTime.Parse(row["horaSalida"].ToString()); if (!row["colaborador"].ToString().Equals("")) dato.colaborador.idColaborador = Int32.Parse(row["colaborador"].ToString()); if (!row["horaInicioAlmuerzo"].ToString().Equals("")) dato.horaInicioAlmuerzo = DateTime.Parse(row["horaInicioAlmuerzo"].ToString()); if (!row["horaFinAlmuerzo"].ToString().Equals("")) dato.horaFinAlmuerzo = DateTime.Parse(row["horaFinAlmuerzo"].ToString()); if (!row["tipoDia"].ToString().Equals("")) dato.tipoDia = row["tipoDia"].ToString(); if (!row["ipEntrada"].ToString().Equals("")) dato.ipEntrada = row["ipEntrada"].ToString(); if (!row["ipSalida"].ToString().Equals("")) dato.ipSalida = row["ipSalida"].ToString(); //Para indicar los datos del usuario if (!row["usuarioCreacion"].ToString().Equals("")) dato.usuarioCreacion = row["usuarioCreacion"].ToString(); if (!row["usuarioModificacion"].ToString().Equals("")) dato.usuarioModificacion = row["usuarioModificacion"].ToString(); //Indicamos los valores de las fechas if (!row["fechaCreacion"].ToString().Equals("")) dato.fechaCreacion = DateTime.Parse(row["fechaCreacion"].ToString()); if (!row["fechaModificacion"].ToString().Equals("")) dato.fechaModificacion = DateTime.Parse(row["fechaModificacion"].ToString()); lista.Add(dato); } return lista; } }
/// <summary> /// consulta una ControlHorario /// </summary> /// <param name="dato"></param> /// <returns></returns> public ControlHorario consultarId(ControlHorario dato) { return this.controlHorarioDA.consultarId(dato); }
/// <summary> /// crea una ControlHorario nuevo /// </summary> /// <param name="dato"></param> public void nuevo(ControlHorario dato) { if (!this.existe(dato)) { this.controlHorarioDA.nuevo(dato); } else { throw new Exception("Ya existe el registro."); } }
/// <summary> /// modifica una ControlHorario /// </summary> /// <param name="dato"></param> public void modificar(ControlHorario dato) { if (this.existe(dato)) { this.controlHorarioDA.modificar(dato); } else { throw new Exception("No existe el registro."); } }
/// <summary> /// modifica una ControlHorario /// </summary> /// <param name="dato"></param> public void inicioAlmuerzo(ControlHorario dato) { using (Database db = DatabaseFactory.openDatabase("rh_db")) { MySqlCommand comando = new MySqlCommand("sp_control_horario_UPDATE_inicioAlmuerzo"); comando.CommandType = CommandType.StoredProcedure; comando.Parameters.AddWithValue("p_idControlHorario", dato.idControlHorario); comando.Parameters.AddWithValue("p_colaborador", dato.colaborador.idColaborador); comando.Parameters.AddWithValue("p_horaInicioAlmuerzo", dato.horaInicioAlmuerzo); db.executeNonQuery(comando); } }
/// <summary> /// actualiza un registro /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ASPxGridView1_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e) { try { ControlHorario controlHorario = new ControlHorario(); //llena el objeto con los valores controlHorario.idControlHorario = Int32.Parse(e.NewValues["idControlHorario"].ToString()); if (e.NewValues["horaEntrada"] != null) { controlHorario.horaEntrada = DateTime.Parse(e.NewValues["horaEntrada"].ToString()); } if (e.NewValues["horaSalida"] != null) { controlHorario.horaSalida = DateTime.Parse(e.NewValues["horaSalida"].ToString()); } if (e.NewValues["horaInicioAlmuerzo"] != null) { controlHorario.horaInicioAlmuerzo = DateTime.Parse(e.NewValues["horaInicioAlmuerzo"].ToString()); } if (e.NewValues["horaFinAlmuerzo"] != null) { controlHorario.horaFinAlmuerzo = DateTime.Parse(e.NewValues["horaFinAlmuerzo"].ToString()); } ASPxPageControl Tabs = (ASPxPageControl)ASPxGridView1.FindEditFormTemplateControl("pageControl"); ASPxComboBox cmbColaborador = (ASPxComboBox)Tabs.FindControl("cmbColaborador"); if (cmbColaborador.Value != null) { controlHorario.colaborador.idColaborador = Int32.Parse(cmbColaborador.Value.ToString()); } controlHorario.usuarioModificacion = Session["usuario"].ToString(); controlHorarioBL.modificar(controlHorario);//agrega el objeto a la base de datos e.Cancel = true;//manejo de execpcion no controlada BUSCAR SOLUCION this.ASPxGridView1.CancelEdit(); this.cargarDatos();//refescar los datos } catch (Exception ex) { Session["errorMessage"] = ex.Message; } }
/// <summary> /// verifica si existe una ControlHorario /// </summary> /// <param name="dato"></param> /// <returns>TRUE si existe FALSE en caso contrario</returns> public bool existe(ControlHorario dato) { return this.controlHorarioDA.existe(dato); }