public void Agregar_ETR29(ET_R29 dato) { if (dato != null) { _ETR29 = dato; } }
private void Mostrar_conceptos_Remunerativos_fila_seleccionada(bool _es_nueva_fila, int RowIndex) { if (!_es_nueva_fila) { ET_R29 _et_r29_ = _lista_et_r29.FirstOrDefault(x => x._Fila == RowIndex); if (_lista_et_r29.Count > 0 && _et_r29_ != null) { if (RowIndex > -1) { if (Analizar_registros_repetido()) { if (_et_r29_._lista_et_m40.Count != 0) { _lista_et_m40 = _et_r29_._lista_et_m40; } else { _lista_et_m40 = _nt_m40.get_001()._lista_et_m40; } _lista_et_m40_back = new List <ET_M40>(); _lista_et_m40_back = _lista_et_m40.Where(x => x._fila >= 0).ToList(); _et_r29_._lista_et_m40 = _lista_et_m40_back; panel_conceptos_remuneratios.BackColor = Color.LightSkyBlue; dgv_conceptos_remunerativos.DataSource = null; dgv_conceptos_remunerativos.Update(); dgv_conceptos_remunerativos.Refresh(); dgv_conceptos_remunerativos.DataSource = _lista_et_m40; } } else { panel_conceptos_remuneratios.BackColor = Color.White; _lista_et_m40.Clear(); dgv_conceptos_remunerativos.DataSource = null; dgv_conceptos_remunerativos.Update(); dgv_conceptos_remunerativos.Refresh(); } } } else { for (int a = 0; a < dgv_entrada_datos_mano_de_obra.Rows.Count; a++) { dgv_entrada_datos_mano_de_obra.Rows[a].DefaultCellStyle.BackColor = Color.White; } panel_conceptos_remuneratios.BackColor = Color.White; _lista_et_m40.Clear(); dgv_conceptos_remunerativos.DataSource = null; dgv_conceptos_remunerativos.Update(); dgv_conceptos_remunerativos.Refresh(); } }
//registramos los cargos public ET_entidad set_001(ET_R29 objEntity) { _Entidad = new ET_entidad(); _Entidad._entity_r28 = new ET_R28(); string Msg_respuesta; using (SqlConnection cn = new SqlConnection(_cnx.conexion)) { cn.Open(); SqlTransaction sqlTran = cn.BeginTransaction(); SqlCommand cmd = new SqlCommand("pa_tr29set_001", cn, sqlTran); cmd.CommandType = CommandType.StoredProcedure; try { cmd.Parameters.Add("@P_MENSAJE_RESPUESTA", SqlDbType.VarChar, 2000).Direction = ParameterDirection.Output; cmd.Parameters.Add("@p_TR29_ID", SqlDbType.Int).Direction = ParameterDirection.Output; cmd.Parameters.Add("@p_TR29_TR28_ID", SqlDbType.Int).Value = objEntity._TR29_TR28_ID; cmd.Parameters.Add("@p_TR29_TM38_ID", SqlDbType.VarChar, 300).Value = objEntity._TR29_TM38_ID; cmd.Parameters.Add("@p_TR29_DESCRIP", SqlDbType.VarChar, 300).Value = objEntity._TR29_DESCRIP; cmd.Parameters.Add("@p_TR29_HORA_ENTRADA", SqlDbType.DateTime).Value = objEntity._TR29_HORA_ENTRADA; cmd.Parameters.Add("@p_TR29_HORA_SALIDA", SqlDbType.DateTime).Value = objEntity._TR29_HORA_SALIDA; cmd.Parameters.Add("@p_TR29_DIAS_SEMANA", SqlDbType.Int).Value = objEntity._TR29_DIAS_SEMANA; cmd.Parameters.Add("@p_TR29_UCREA", SqlDbType.VarChar, 20).Value = _global._U_SESSION; cmd.Parameters.Add("@p_TR29_TM2_ID", SqlDbType.VarChar, 20).Value = _global._TM2_ID; cmd.Parameters.Add("@p_TR29_REMUNERACION", SqlDbType.Decimal).Value = objEntity._TR29_REMUNERACION; cmd.ExecuteNonQuery(); sqlTran.Commit(); Msg_respuesta = cmd.Parameters["@P_MENSAJE_RESPUESTA"].Value.ToString(); _Entidad._entity_r29._TR29_ID = Convert.ToInt32(cmd.Parameters["@p_TR29_ID"].Value.ToString()); _Entidad._hubo_error = false; } catch (SqlException exsql) { Msg_respuesta = exsql.Message; try { sqlTran.Rollback(); } catch (Exception exRollback) { Msg_respuesta = exRollback.Message; } _Entidad._hubo_error = true; _Entidad._contenido_mensaje = Msg_respuesta; } finally { cn.Close(); } } return(_Entidad); }
//// //actualizar los registros public bool set_002(ET_R29 objEntity) { string Msg_respuesta; using (SqlConnection cn = new SqlConnection(_cnx.conexion)) { cn.Open(); SqlTransaction sqlTran = cn.BeginTransaction(); SqlCommand cmd = new SqlCommand("pa_tr29_set002", cn, sqlTran); cmd.CommandType = CommandType.StoredProcedure; try { cmd.Parameters.Add("@p_TR29_ID", SqlDbType.Int).Value = objEntity._TR29_ID; cmd.Parameters.Add("@p_TR29_TR28_ID", SqlDbType.Int).Value = objEntity._TR29_TR28_ID; cmd.Parameters.Add("@p_TR29_TM38_ID", SqlDbType.VarChar, 10).Value = objEntity._TR29_TM38_ID; cmd.Parameters.Add("@p_TR29_TM2_ID", SqlDbType.VarChar, 10).Value = _global._TM2_ID; cmd.Parameters.Add("@p_TR29_DESCRIP", SqlDbType.VarChar, 3000).Value = objEntity._TR29_DESCRIP; cmd.Parameters.Add("@p_TR29_HORA_ENTRADA", SqlDbType.DateTime).Value = objEntity._TR29_HORA_ENTRADA; cmd.Parameters.Add("@p_TR29_HORA_SALIDA", SqlDbType.DateTime).Value = objEntity._TR29_HORA_SALIDA; cmd.Parameters.Add("@p_TR29_DIAS_SEMANA", SqlDbType.Int).Value = objEntity._TR29_DIAS_SEMANA; cmd.Parameters.Add("@p_TR29_UACTUALIZA", SqlDbType.VarChar, 20).Value = _global._U_SESSION; cmd.Parameters.Add("@p_TR29_REMUNERACION", SqlDbType.Decimal).Value = objEntity._TR29_REMUNERACION; cmd.Parameters.Add("@p_TR29_FLG_ELIMINADO", SqlDbType.SmallInt).Value = objEntity._TR29_FLG_ELIMINADO; cmd.Parameters.Add("@P_MENSAJE_RESPUESTA", SqlDbType.VarChar, 200).Direction = ParameterDirection.Output; cmd.ExecuteNonQuery(); sqlTran.Commit(); Msg_respuesta = cmd.Parameters["@P_MENSAJE_RESPUESTA"].Value.ToString(); if (Msg_respuesta.Equals("ERROR")) { return(false); } } catch (SqlException exsql) { Msg_respuesta = exsql.Message; try { sqlTran.Rollback(); } catch (Exception exRollback) { Msg_respuesta = exRollback.Message; } return(false); } finally { cn.Close(); } } return(true); }
public ET_entidad set_002(List <ET_R29> cargos_, List <ET_R27> locales_) { Resultado = new ET_entidad(); Resultado._hubo_error = false; Resultado._titulo_mensaje = "Mensaje del sistema"; Resultado._contenido_mensaje = string.Empty; List <ET_R29> Cargos_nuevos = new List <ET_R29>(); #region ACTUALIZAR int indice = 0; int elementos_sin_actualizar = 0; locales_.ForEach(local => { cargos_.ForEach(cargo => { bool _nuevo_elemento = false; foreach (int[] roe in cargo._Locales_por_cargo_cantidad_personal) { if (roe[1] == 0) { _nuevo_elemento = true; break; } if (roe[1] != 0) { ET_R31 parametros = new ET_R31(); parametros._TR31_TM2_ID = Globales._TM2_ID; parametros._TR31_DESCRIP = "update!"; parametros._TR31_UACTUALIZA = Globales._U_SESSION; parametros._TR31_CANT_PERSONAS = roe[0]; parametros._TR31_ID = roe[1]; var result_ = _dt_R31.set_002(parametros)._hubo_error; if (result_) { elementos_sin_actualizar++; } } } if (_nuevo_elemento) { ET_R29 tmp_e = new ET_R29(); tmp_e = cargo; List <ET_R29> tmp_l = new List <ET_R29>(); tmp_l.Add(tmp_e); Cargos_nuevos.Add(tmp_e); } }); indice++; }); #endregion // SI SE ECONTRARON REGISTROS NUEVOS LOS FILTRAMOS E INGRESAMOS #region REGISTRAR int Elementos_sin_registrar = 0; if (Cargos_nuevos.Count > 0) { var _group_cargos = Cargos_nuevos.GroupBy(x => new { x._Fila, x._Locales_por_cargo_cantidad_personal, x._TR29_DESCRIP, x._TR29_DIAS_SEMANA, x._TR29_ID, x._TR29_TM2_ID, x._TR29_TM38_ID, x._TR29_TR28_ID }).Select(y => new ET_R29() { _Fila = y.Key._Fila, _Locales_por_cargo_cantidad_personal = y.Key._Locales_por_cargo_cantidad_personal, _TR29_DESCRIP = y.Key._TR29_DESCRIP, _TR29_DIAS_SEMANA = y.Key._TR29_DIAS_SEMANA, _TR29_ID = y.Key._TR29_ID, _TR29_TM2_ID = y.Key._TR29_TM2_ID, _TR29_TM38_ID = y.Key._TR29_TM38_ID, _TR29_TR28_ID = y.Key._TR29_TR28_ID, } ); List <ET_R29> lista_final = new List <ET_R29>(); foreach (var entidad in _group_cargos) { lista_final.Add(entidad); } Elementos_sin_registrar = set_001(lista_final, locales_); } #endregion #region Resultado if (Elementos_sin_registrar > 0 || elementos_sin_actualizar > 0) { Resultado._hubo_error = true; Resultado._contenido_mensaje = String.Format(" ELEMENTOS NO ACTUALIZADOS = {0} \n ELEMENTOS NUEVOS NO REGISTRADOS {1}", elementos_sin_actualizar, Elementos_sin_registrar);; } if (Elementos_sin_registrar == 0 && elementos_sin_actualizar == 0) { Resultado._contenido_mensaje = "Éxito al guardar!"; } #endregion return(Resultado); }
//Eliminamos la fila en la que se presiono el boton de borrar private void dgv_entrada_datos_mano_de_obra_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex > -1 && !dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].IsNewRow) { Indice_fila_grid_entrada_datos_mano_obra = e.RowIndex; Indice_columna_grid_entrada_datos_mano_obra = e.ColumnIndex; if (dgv_entrada_datos_mano_de_obra.Columns[e.ColumnIndex].Name == "_COL_DELETE_ROW") { #region eliminar cargo de la lista ET_R29 edit_entity = _lista_et_r29.FirstOrDefault(row => row._Fila == e.RowIndex); edit_entity._TR29_FLG_ELIMINADO = 1; _lista_et_r29_los_eliminados.Add(edit_entity); dgv_entrada_datos_mano_de_obra.Rows.RemoveAt(dgv_entrada_datos_mano_de_obra.CurrentRow.Index); List <ET_R29> _clon = new List <ET_R29>(); int fila = 0; foreach (ET_R29 row in _lista_et_r29) { if (row._TR29_FLG_ELIMINADO != 1) { ET_R29 e_ = new ET_R29(); e_._Fila = fila; e_._TR29_ID = row._TR29_ID; e_._TR29_TR28_ID = row._TR29_TR28_ID; e_._TR29_TM38_ID = row._TR29_TM38_ID; e_._TR29_HORA_ENTRADA = row._TR29_HORA_ENTRADA; e_._TR29_HORA_SALIDA = row._TR29_HORA_SALIDA; e_._TR29_DIAS_SEMANA = row._TR29_DIAS_SEMANA; e_._TR29_DESCRIP = row._TR29_DESCRIP; e_._TR29_ST = row._TR29_ST; e_._TR29_FLG_ELIMINADO = row._TR29_FLG_ELIMINADO; e_._TR29_UCREA = row._TR29_UCREA; e_._TR29_FCREA = row._TR29_FCREA; e_._TR29_UACTUALIZA = row._TR29_UACTUALIZA; e_._TR29_FACTUALIZA = row._TR29_FACTUALIZA; e_._TR29_REMUNERACION = row._TR29_REMUNERACION; e_._TR29_TM2_ID = row._TR29_TM2_ID; e_._lista_et_m40 = row._lista_et_m40; e_._lista_et_r30 = row._lista_et_r30; _clon.Add(e_); fila++; } } _lista_et_r29.Clear(); _lista_et_r29 = _clon; panel_conceptos_remuneratios.BackColor = Color.White; panel_cargos.BackColor = Color.White; try { dgv_entrada_datos_mano_de_obra.AllowUserToAddRows = true; } catch { } _lista_et_m40.Clear(); dgv_conceptos_remunerativos.DataSource = null; dgv_conceptos_remunerativos.Update(); dgv_conceptos_remunerativos.Refresh(); _dibujar_repetidos = false; dgv_entrada_datos_mano_de_obra.Update(); dgv_entrada_datos_mano_de_obra.Refresh(); _continuar = true; btn_continuar.Enabled = true; dgv_entrada_datos_mano_de_obra.CurrentCell = dgv_entrada_datos_mano_de_obra[0, (dgv_entrada_datos_mano_de_obra.RowCount - 1)]; #endregion } } }
void Construir_GridView_ManoDeObra() { _helper.Set_Style_to_DatagridView(dgv_entrada_datos_mano_de_obra); dgv_entrada_datos_mano_de_obra.AutoGenerateColumns = false; dgv_entrada_datos_mano_de_obra.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing; dgv_entrada_datos_mano_de_obra.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; DataGridViewColumn _COL_CARGO = new DataGridViewTextBoxColumn(); _COL_CARGO.DataPropertyName = "_CARGO"; _COL_CARGO.HeaderText = "Cargo"; _COL_CARGO.Name = "_COL_CARGO"; _COL_CARGO.Width = 200; _COL_CARGO.MinimumWidth = 200; _COL_CARGO.FillWeight = 200; _COL_HORA_ENTRADA = new UserControls.GridTimeControl(); _COL_HORA_ENTRADA.Name = "_COL_HORA_ENTRADA"; _COL_HORA_ENTRADA.HeaderText = "Hora entrada"; _COL_HORA_ENTRADA.Width = 75; _COL_HORA_ENTRADA.MinimumWidth = 75; _COL_HORA_ENTRADA.FillWeight = 75; _COL_HORA_SALIDA = new UserControls.GridTimeControl(); _COL_HORA_SALIDA.Name = "_COL_HORA_SALIDA"; _COL_HORA_SALIDA.HeaderText = "Hora salida"; _COL_HORA_SALIDA.Width = 80; _COL_HORA_SALIDA.MinimumWidth = 80; _COL_HORA_SALIDA.FillWeight = 80; _COL_DIAS_POR_SEMANA = new UserControls.NumericUpDownColumn(); _COL_DIAS_POR_SEMANA.HeaderText = "Dias por sem."; _COL_DIAS_POR_SEMANA.Name = "_COL_DIAS_POR_SEMANA"; _COL_DIAS_POR_SEMANA.Width = 80; _COL_DIAS_POR_SEMANA.MinimumWidth = 80; _COL_DIAS_POR_SEMANA.FillWeight = 80; _COL_DIAS_POR_SEMANA.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; DataGridViewColumn _COL_REMUNERACION = new DataGridViewTextBoxColumn(); _COL_REMUNERACION.DataPropertyName = "_COL_REMUNERACION"; _COL_REMUNERACION.HeaderText = "Remuneración básica"; _COL_REMUNERACION.Name = "_COL_REMUNERACION"; _COL_REMUNERACION.DefaultCellStyle.NullValue = "850.00"; DataGridViewButtonColumn _COL_DELETE_ROW = new DataGridViewButtonColumn(); _COL_DELETE_ROW.HeaderText = string.Empty; _COL_DELETE_ROW.Name = "_COL_DELETE_ROW"; dgv_entrada_datos_mano_de_obra.Columns.AddRange(new DataGridViewColumn[] { _COL_CARGO, _COL_HORA_ENTRADA, _COL_HORA_SALIDA, _COL_DIAS_POR_SEMANA, _COL_REMUNERACION, _COL_DELETE_ROW }); TextBox bas_ = new TextBox(); bas_.Text = string.Empty; _lista_Cargos = _nt_m38.TexBox_Cargo(bas_); ET_R29 _et = new ET_R29(); _et._TR29_TR28_ID = id_Servicio_hijo; _et._lista_et_m40 = _lista_et_m40_sin_Dependencia; _lista_et_r29 = _nt_r29.get_001(_et)._lista_et_r29; if (_lista_et_r29.Count > 0) { _lista_et_r29.ForEach(fila_ => { dgv_entrada_datos_mano_de_obra.Rows.Add( fila_._TR29_DESCRIP, fila_._TR29_HORA_ENTRADA, fila_._TR29_HORA_SALIDA, fila_._TR29_DIAS_SEMANA, fila_._TR29_REMUNERACION ); }); } for (int i = 0; i < dgv_entrada_datos_mano_de_obra.Columns.Count; i++) { dgv_entrada_datos_mano_de_obra.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; } }
private void dgv_entrada_datos_mano_de_obra_CellEndEdit(object sender, DataGridViewCellEventArgs e) { DataGridView grid_view = (DataGridView)sender; if (!string.IsNullOrEmpty(grid_view.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString())) { if (e.ColumnIndex == 4)// remuneracion basica { if (!grid_view.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString().Contains('.')) { dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = string.Format("{0}.00", grid_view.Rows[e.RowIndex].Cells[e.ColumnIndex].Value); } } //PARA CALCULAR LA REMUNERACION BASICA CUANDO SEA MENOR A 8 HORAS if (e.ColumnIndex == 1 || e.ColumnIndex == 2) { DateTime HORA_ENTRADA = new DateTime(1900, 1, 1, hour: Convert.ToDateTime(grid_view.Rows[e.RowIndex].Cells[1].Value.ToString()).Hour , minute: Convert.ToDateTime(grid_view.Rows[e.RowIndex].Cells[1].Value.ToString()).Minute, second: Convert.ToDateTime(grid_view.Rows[e.RowIndex].Cells[1].Value.ToString()).Second ); DateTime HORA_SALIDA = new DateTime(1900, 1, 1, hour: Convert.ToDateTime(grid_view.Rows[e.RowIndex].Cells[2].Value.ToString()).Hour , minute: Convert.ToDateTime(grid_view.Rows[e.RowIndex].Cells[2].Value.ToString()).Minute, second: Convert.ToDateTime(grid_view.Rows[e.RowIndex].Cells[2].Value.ToString()).Second ); int HORAS = (HORA_SALIDA - HORA_ENTRADA).Hours; if (HORAS <= 8) { // OBTENEMOS EL MINIMO VITAL -- 850.00 decimal minimo_vital = 850.00M; decimal remuneracion_calculo = minimo_vital / HORAS; dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].Cells[4].Value = string.Format("{0}", remuneracion_calculo); } } } Indice_fila_grid_entrada_datos_mano_obra = e.RowIndex; dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].ErrorText = string.Empty; dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White; Indice_columna_grid_entrada_datos_mano_obra = e.ColumnIndex; if (!dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].IsNewRow && e.RowIndex > -1) { ET_R29 _et_r29_ = _lista_et_r29.FirstOrDefault(x => x._Fila == e.RowIndex); for (int a = 0; a < dgv_entrada_datos_mano_de_obra.Rows.Count; a++) { if (a != e.RowIndex) { dgv_entrada_datos_mano_de_obra.Rows[a].DefaultCellStyle.BackColor = Color.White; } } //dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.LightSkyBlue; if (_et_r29_._lista_et_m40.Count != 0) { _lista_et_m40 = _et_r29_._lista_et_m40; } else { _lista_et_m40 = _nt_m40.get_001()._lista_et_m40; } _lista_et_m40_back = new List <ET_M40>(); _lista_et_m40_back = _lista_et_m40.Where(x => x._fila >= 0).ToList(); _et_r29_._lista_et_m40 = _lista_et_m40_back; panel_conceptos_remuneratios.BackColor = Color.LightSkyBlue; dgv_conceptos_remunerativos.DataSource = null; dgv_conceptos_remunerativos.Update(); dgv_conceptos_remunerativos.Refresh(); dgv_conceptos_remunerativos.DataSource = _lista_et_m40; } if (_lista_et_r29.Count > 1) { Analizar_registros_repetido(); this.dgv_entrada_datos_mano_de_obra.CellPainting += new DataGridViewCellPaintingEventHandler(this.dgv_entrada_datos_mano_de_obra_CellPainting); } }
private void dgv_entrada_datos_mano_de_obra_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) { #region entrada_datos if (!dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].IsNewRow) { for (int a = 0; a < dgv_entrada_datos_mano_de_obra.Rows.Count; a++) { if (a != e.RowIndex) { dgv_entrada_datos_mano_de_obra.Rows[a].DefaultCellStyle.BackColor = Color.White; } } string nombre_columna = dgv_entrada_datos_mano_de_obra.Columns[e.ColumnIndex].Name; string cabecra_columna = dgv_entrada_datos_mano_de_obra.Columns[e.ColumnIndex].HeaderText; if (nombre_columna.Equals("_COL_DELETE_ROW")) { return; } var msg = string.Format("El campo de nombre {0} esta vacio", cabecra_columna); if (string.IsNullOrEmpty(e.FormattedValue.ToString())) { dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].ErrorText = msg; dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.DarkSalmon; e.Cancel = true; } else { Indice_fila_grid_entrada_datos_mano_obra = e.RowIndex; bool existe = _lista_et_r29.Any(item => item._Fila == e.RowIndex); // sis existe actualizo la lista if (existe) { ET_R29 _fila = _lista_et_r29.FirstOrDefault(cus => cus._Fila == e.RowIndex); switch (nombre_columna) { case "_COL_CARGO": _fila._TR29_DESCRIP = e.FormattedValue.ToString(); ET_M38 cargo = _lista_Cargos.FirstOrDefault(x => x._TM38_DESCRIP == _fila._TR29_DESCRIP); if (cargo != null) { _fila._TR29_TM38_ID = cargo._TM38_ID; //id_cargo } else { dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].ErrorText = msg; dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.DarkSalmon; e.Cancel = true; } break; case "_COL_HORA_ENTRADA": DateTime hora_e_no_Fecha = new DateTime(1900, 1, 1, Convert.ToDateTime(e.FormattedValue.ToString()).Hour, Convert.ToDateTime(e.FormattedValue.ToString()).Minute, Convert.ToDateTime(e.FormattedValue.ToString()).Second); _fila._TR29_HORA_ENTRADA = hora_e_no_Fecha; // Convert.ToDateTime(e.FormattedValue.ToString()); break; case "_COL_HORA_SALIDA": DateTime hora_s_no_Fecha = new DateTime(1900, 1, 1, Convert.ToDateTime(e.FormattedValue.ToString()).Hour, Convert.ToDateTime(e.FormattedValue.ToString()).Minute, Convert.ToDateTime(e.FormattedValue.ToString()).Second); _fila._TR29_HORA_SALIDA = hora_s_no_Fecha; // Convert.ToDateTime(e.FormattedValue.ToString()); break; case "_COL_DIAS_POR_SEMANA": _fila._TR29_DIAS_SEMANA = Convert.ToInt32(e.FormattedValue.ToString()); break; case "_COL_REMUNERACION": _fila._TR29_REMUNERACION = Convert.ToDecimal(e.FormattedValue.ToString()); break; } _fila._TR29_TR28_ID = id_Servicio_hijo; } else { //es nuevo ingreso ET_R29 in_et_r29 = new ET_R29(); in_et_r29._Fila = e.RowIndex; in_et_r29._TR29_ST = 0; in_et_r29._TR29_FLG_ELIMINADO = 0; in_et_r29._TR29_TR28_ID = id_Servicio_hijo; switch (nombre_columna) { case "_COL_CARGO": in_et_r29._TR29_DESCRIP = e.FormattedValue.ToString(); ET_M38 cargo = _lista_Cargos.FirstOrDefault(x => x._TM38_DESCRIP == e.FormattedValue.ToString()); if (cargo != null) { in_et_r29._TR29_TM38_ID = cargo._TM38_ID; } else { dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].ErrorText = msg; dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.DarkSalmon; e.Cancel = true; } break; case "_COL_HORA_ENTRADA": DateTime hora_e_no_Fecha = new DateTime(1900, 1, 1, Convert.ToDateTime(e.FormattedValue.ToString()).Hour, Convert.ToDateTime(e.FormattedValue.ToString()).Minute, Convert.ToDateTime(e.FormattedValue.ToString()).Second); in_et_r29._TR29_HORA_ENTRADA = hora_e_no_Fecha; // Convert.ToDateTime(e.FormattedValue.ToString()); break; case "_COL_HORA_SALIDA": DateTime hora_s_no_Fecha = new DateTime(1900, 1, 1, Convert.ToDateTime(e.FormattedValue.ToString()).Hour, Convert.ToDateTime(e.FormattedValue.ToString()).Minute, Convert.ToDateTime(e.FormattedValue.ToString()).Second); in_et_r29._TR29_HORA_SALIDA = hora_s_no_Fecha; // Convert.ToDateTime(e.FormattedValue.ToString()); break; case "_COL_DIAS_POR_SEMANA": in_et_r29._TR29_DIAS_SEMANA = Convert.ToInt32(e.FormattedValue.ToString()); break; case "_COL_REMUNERACION": //if(e.FormattedValue.ToString().Contains('.')) // in_et_r29._TR29_REMUNERACION = Convert.ToDecimal(e.FormattedValue.ToString()); //else in_et_r29._TR29_REMUNERACION = Convert.ToDecimal(e.FormattedValue.ToString()); break; } _lista_et_r29.Add(in_et_r29); } } } #endregion }
public ET_entidad get_001(ET_R29 objEntity) { string Mensaje_error = ""; DataTable dt = new DataTable(); using (SqlConnection cn = new SqlConnection(_cnx.conexion)) { cn.Open(); SqlTransaction sqlTran = cn.BeginTransaction(); SqlCommand cmd = new SqlCommand("pa_tr29_sel100", cn, sqlTran); cmd.CommandType = CommandType.StoredProcedure; try { _lista_r29 = new List <ET_R29>(); cmd.Parameters.Add("@p_TR29_TR28_ID", SqlDbType.VarChar, 10).Value = objEntity._TR29_TR28_ID; cmd.Parameters.Add("@p_TR29_TM2_ID", SqlDbType.VarChar, 50).Value = _global._TM2_ID; SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; da.Fill(dt); foreach (DataRow fila in dt.Rows) { _etr29 = new ET_R29(); _etr29._TR29_ID = Convert.ToInt32(fila["TR29_ID"].ToString()); _etr29._TR29_TR28_ID = Convert.ToInt32(fila["TR29_TR28_ID"].ToString()); _etr29._TR29_TM38_ID = fila["TR29_TM38_ID"].ToString(); _etr29._TR29_HORA_ENTRADA = Convert.ToDateTime(fila["TR29_HORA_ENTRADA"].ToString()); _etr29._TR29_HORA_SALIDA = Convert.ToDateTime(fila["TR29_HORA_SALIDA"].ToString()); _etr29._TR29_DIAS_SEMANA = Convert.ToInt32(fila["TR29_DIAS_SEMANA"].ToString()); _etr29._TR29_DESCRIP = fila["TR29_DESCRIP"].ToString(); //_etr29._TR29_ST = fila["TR29_ST"].ToString(); _etr29._TR29_FLG_ELIMINADO = Convert.ToInt32(fila["TR29_FLG_ELIMINADO"].ToString()); //_etr29._TR29_UCREA = fila["TR29_UCREA"].ToString(); //_etr29._TR29_FCREA = fila["TR29_FCREA"].ToString(); //_etr29._TR29_UACTUALIZA = fila["TR29_UACTUALIZA"].ToString(); //_etr29._TR29_FACTUALIZA = fila["TR29_FACTUALIZA"].ToString(); string res = "0.00"; if (!string.IsNullOrEmpty(fila["TR29_REMUNERACION"].ToString())) { res = fila["TR29_REMUNERACION"].ToString(); } _etr29._TR29_REMUNERACION = Convert.ToDecimal(res); //_etr29._TR29_TM2_ID = fila["TR29_TM2_ID"].ToString(); //get_001 dt_r30 _etr29._lista_et_r30 = dtr_30.get_001(_etr29._TR29_ID); _lista_r29.Add(_etr29); } _Entidad._lista_et_r29 = _lista_r29; _Entidad._hubo_error = false; } catch (SqlException exsql) { try { sqlTran.Rollback(); } catch (Exception exRollback) { } } catch (Exception ex) { Mensaje_error = string.Format("{1}{0}", Environment.NewLine, (Mensaje_error + ex.Message.ToString())); if (ex.InnerException != null) { Mensaje_error = string.Format("{1}{0}", Environment.NewLine, (Mensaje_error + "Inner exception: " + ex.InnerException.Message)); } Mensaje_error = string.Format("{1}{0}", Environment.NewLine, (Mensaje_error + "Stack trace: " + ex.StackTrace)); _Entidad._hubo_error = true; _Entidad._contenido_mensaje = Mensaje_error; _Entidad._titulo_mensaje = "Error!"; } finally { cn.Close(); } return(_Entidad); } }
//AFECTO => 1 : NO AFECTO => 0 #region Métodos public ET_entidad get_001(ET_R29 obj) { // obj._lista_et_m40; --> conceptos remunerativos disponibles var resultado = _dt_r29.get_001(obj); // analizamos los conceptos remunerativos que posee cada cargo y seleccionamos los conceptos que se visualizara como seleccionado List <ET_R29> lista_final = new List <ET_R29>(); int fila_ = 0; var _Lista_et_r29_trabajadores_8_horas = resultado._lista_et_r29.Where(o => (o._TR29_HORA_SALIDA - o._TR29_HORA_ENTRADA).Hours >= 4); var _Lista_et_r29_trabajadores_4_horas = resultado._lista_et_r29.Where(o => (o._TR29_HORA_SALIDA - o._TR29_HORA_ENTRADA).Hours < 4); #region mayor a 4 h _Lista_et_r29_trabajadores_8_horas.ToList().ForEach(row => { ET_R29 _entidad_final = new ET_R29(); List <ET_M40> _lista_child_etm40 = new List <ET_M40>(); foreach (ET_M40 row_c in obj._lista_et_m40) { ET_M40 entidad_m40 = new ET_M40(); var where_on_list_et_r30 = row._lista_et_r30.FirstOrDefault(x => x._TR30_TM40_ID == row_c._TM40_ID && x._TR30_DESCRIP == row_c._TM40_DESCRIP); entidad_m40._TM40_IMPORTE = row_c._TM40_IMPORTE; entidad_m40._TM40_PORCENTAJE = row_c._TM40_PORCENTAJE; entidad_m40._TR40_AFECTO = row_c._TR40_AFECTO; if (where_on_list_et_r30 != null) { entidad_m40._Seleccionado = true; entidad_m40._TM40_IMPORTE = where_on_list_et_r30._TR30_IMPORTE; entidad_m40._TM40_PORCENTAJE = where_on_list_et_r30._TR30_PORCENTAJE * 100; entidad_m40._TR40_AFECTO = where_on_list_et_r30._TR30_AFECTO; } else { entidad_m40._Seleccionado = false; } entidad_m40._TM40_DESCRIP = row_c._TM40_DESCRIP; entidad_m40._TM40_ID = row_c._TM40_ID; entidad_m40._Work = row_c._Work; entidad_m40._fila = fila_; _lista_child_etm40.Add(entidad_m40); } _entidad_final._Fila = fila_; _entidad_final._TR29_DESCRIP = row._TR29_DESCRIP; _entidad_final._TR29_DIAS_SEMANA = row._TR29_DIAS_SEMANA; _entidad_final._TR29_HORA_ENTRADA = row._TR29_HORA_ENTRADA; _entidad_final._TR29_HORA_SALIDA = row._TR29_HORA_SALIDA; _entidad_final._HOURS_DAY = (row._TR29_HORA_SALIDA - row._TR29_HORA_ENTRADA).Hours; _entidad_final._TR29_ID = row._TR29_ID; _entidad_final._TR29_REMUNERACION = row._TR29_REMUNERACION; _entidad_final._TR29_TM2_ID = row._TR29_TM2_ID; _entidad_final._TR29_TM38_ID = row._TR29_TM38_ID; _entidad_final._TR29_TR28_ID = row._TR29_TR28_ID; _entidad_final._lista_et_m40 = _lista_child_etm40; _entidad_final._lista_et_r30 = row._lista_et_r30; _entidad_final._TR29_FLG_ELIMINADO = row._TR29_FLG_ELIMINADO; _entidad_final._TR29_ST = 1; // manejare el estado para analizar quien se actualiza y quien no que se registra y quien no lo hace // 1 -> obtenido desde base de datos // 0 -> es un nuevo ingreso lista_final.Add(_entidad_final); fila_++; }); #endregion #region menor a 4 h _Lista_et_r29_trabajadores_4_horas.ToList().ForEach(row => { ET_R29 _entidad_final = new ET_R29(); List <ET_M40> _lista_child_etm40 = new List <ET_M40>(); foreach (ET_M40 row_c in obj._lista_et_m40) { ET_M40 entidad_m40 = new ET_M40(); var where_on_list_et_r30 = row._lista_et_r30.FirstOrDefault(x => x._TR30_TM40_ID == row_c._TM40_ID && x._TR30_DESCRIP == row_c._TM40_DESCRIP); entidad_m40._TM40_IMPORTE = row_c._TM40_IMPORTE; entidad_m40._TM40_PORCENTAJE = row_c._TM40_PORCENTAJE; entidad_m40._TR40_AFECTO = row_c._TR40_AFECTO; if (where_on_list_et_r30 != null) { entidad_m40._Seleccionado = true; entidad_m40._TM40_IMPORTE = where_on_list_et_r30._TR30_IMPORTE; entidad_m40._TM40_PORCENTAJE = where_on_list_et_r30._TR30_PORCENTAJE * 100; entidad_m40._TR40_AFECTO = where_on_list_et_r30._TR30_AFECTO; } else { entidad_m40._Seleccionado = false; } entidad_m40._TM40_DESCRIP = row_c._TM40_DESCRIP; entidad_m40._TM40_ID = row_c._TM40_ID; entidad_m40._Work = row_c._Work; entidad_m40._fila = fila_; _lista_child_etm40.Add(entidad_m40); } _entidad_final._Fila = fila_; _entidad_final._TR29_DESCRIP = row._TR29_DESCRIP; _entidad_final._TR29_DIAS_SEMANA = row._TR29_DIAS_SEMANA; _entidad_final._TR29_HORA_ENTRADA = row._TR29_HORA_ENTRADA; _entidad_final._TR29_HORA_SALIDA = row._TR29_HORA_SALIDA; _entidad_final._HOURS_DAY = (row._TR29_HORA_SALIDA - row._TR29_HORA_ENTRADA).Hours; _entidad_final._TR29_ID = row._TR29_ID; _entidad_final._TR29_REMUNERACION = row._TR29_REMUNERACION; _entidad_final._TR29_TM2_ID = row._TR29_TM2_ID; _entidad_final._TR29_TM38_ID = row._TR29_TM38_ID; _entidad_final._TR29_TR28_ID = row._TR29_TR28_ID; _entidad_final._lista_et_m40 = _lista_child_etm40; _entidad_final._lista_et_r30 = row._lista_et_r30; _entidad_final._TR29_FLG_ELIMINADO = row._TR29_FLG_ELIMINADO; _entidad_final._TR29_ST = 1; // manejare el estado para analizar quien se actualiza y quien no que se registra y quien no lo hace // 1 -> obtenido desde base de datos // 0 -> es un nuevo ingreso lista_final.Add(_entidad_final); fila_++; }); #endregion resultado._lista_et_r29 = lista_final; return(resultado); }
public void set_001(List <ET_R29> _lista_et_r29, List <ET_R29> _lista_et_r29_back) { //_lista_et_r29_back.ForEach(row => //{ // if (row._TR29_FLG_ELIMINADO == 1 && row._TR29_ST == 1) // { // //actualizar flg 1 // bool respuesta = _dt_r29.set_002(row); // } //}); var lista_where_r29 = _lista_et_r29.Where(X => X._TR29_ST == 1).ToList(); lista_where_r29.ForEach(row => { bool respuesta = _dt_r29.set_002(row); int id = row._TR29_ID; if (respuesta) { row._lista_et_r30.ForEach(x => { ET_R30 et30 = new ET_R30(); et30._TR30_ID = x._TR30_ID; et30._TR30_TR29_ID = x._TR30_TR29_ID; et30._TR30_IMPORTE = x._TR30_IMPORTE; et30._TR30_TM40_ID = x._TR30_TM40_ID; et30._TR30_FLG_ELIMINADO = 1; et30._TR30_TM2_ID = x._TR30_TM2_ID; et30._TR30_AFECTO = x._TR30_AFECTO; et30._TR30_PORCENTAJE = x._TR30_PORCENTAJE; et30._TR30_UACTUALIZA = Globales._U_SESSION; _dt_r30.set_002(et30); // ACTUALIZAMOS }); var all_true = row._lista_et_m40.Where(x => x._Seleccionado == true).ToList(); foreach (ET_M40 row_child in all_true) { ET_R30 _et_r30 = new ET_R30(); _et_r30._TR30_TR29_ID = row._TR29_ID;//result._entity_r29._TR29_ID; _et_r30._TR30_TM40_ID = row_child._TM40_ID; _et_r30._TR30_DESCRIP = row_child._TM40_DESCRIP; _et_r30._TR30_FLG_ELIMINADO = 0; _et_r30._TR30_IMPORTE = row_child._TM40_IMPORTE; _et_r30._TR30_PORCENTAJE = row_child._TM40_PORCENTAJE / 100; _et_r30._TR30_AFECTO = row_child._TR40_AFECTO; _dt_r30.set_001(_et_r30); // REGISTRAMOS LOS CONCEPTOS REMUNERATIVOS } } }); _lista_et_r29.Where(X => X._TR29_ST == 0).ToList().ForEach(row => { //registramos lo nuevo DateTime h_e_ = new DateTime(year: 1900, month: 1, day: 1, hour: row._TR29_HORA_ENTRADA.Hour, minute: row._TR29_HORA_ENTRADA.Minute, second: 0); // reset DateTime h_s_ = new DateTime(year: 1900, month: 1, day: 1, hour: row._TR29_HORA_SALIDA.Hour, minute: row._TR29_HORA_SALIDA.Minute, second: 0); // reset ET_R29 _et_r29 = new ET_R29(); _et_r29._TR29_TR28_ID = row._TR29_TR28_ID; //servicio hijo que a su ve es padre en algunos casos _et_r29._TR29_TM38_ID = row._TR29_TM38_ID; // id del cargo que se va a registrar _et_r29._TR29_HORA_ENTRADA = h_e_; _et_r29._TR29_HORA_SALIDA = h_s_; _et_r29._TR29_DIAS_SEMANA = row._TR29_DIAS_SEMANA; _et_r29._TR29_DESCRIP = row._TR29_DESCRIP; _et_r29._TR29_REMUNERACION = row._TR29_REMUNERACION; var result = _dt_r29.set_001(_et_r29); if (!result._hubo_error) { var all_true = row._lista_et_m40.Where(x => x._Seleccionado == true).ToList(); foreach (ET_M40 row_child in all_true) { ET_R30 _et_r30 = new ET_R30(); _et_r30._TR30_TR29_ID = result._entity_r29._TR29_ID; _et_r30._TR30_TM40_ID = row_child._TM40_ID; _et_r30._TR30_DESCRIP = row_child._TM40_DESCRIP; _et_r30._TR30_FLG_ELIMINADO = 0; _et_r30._TR30_IMPORTE = row_child._TM40_IMPORTE; _et_r30._TR30_PORCENTAJE = row_child._TM40_PORCENTAJE / 100; _et_r30._TR30_AFECTO = row_child._TR40_AFECTO; _dt_r30.set_001(_et_r30); // REGISTRAMOS LOS CONCEPTOS DE UN NUEVO CARGO } } }); }