// registramos los conceptos remunerativos de un cargo previamente registrado public ET_entidad set_001(ET_R30 objEntity) { _Entidad = new ET_entidad(); string Mensaje_error; using (SqlConnection cn = new SqlConnection(_cnx.conexion)) { cn.Open(); SqlTransaction sqlTran = cn.BeginTransaction(); SqlCommand cmd = new SqlCommand("pa_TR30_set001", cn, sqlTran); cmd.CommandType = CommandType.StoredProcedure; try { cmd.Parameters.Add("@P_MENSAJE_RESPUESTA", SqlDbType.VarChar, 2000).Direction = ParameterDirection.Output; cmd.Parameters.Add("@p_TR30_TR29_ID", SqlDbType.Int).Value = objEntity._TR30_TR29_ID; cmd.Parameters.Add("@p_TR30_TM40_ID", SqlDbType.VarChar, 10).Value = objEntity._TR30_TM40_ID; cmd.Parameters.Add("@p_TR30_TM2_ID", SqlDbType.VarChar, 10).Value = _global._TM2_ID; cmd.Parameters.Add("@p_TR30_DESCRIP", SqlDbType.VarChar, 300).Value = objEntity._TR30_DESCRIP; cmd.Parameters.Add("@p_TR30_UCREA", SqlDbType.VarChar, 10).Value = _global._U_SESSION; cmd.Parameters.Add("@P_TR30_AFECTO", SqlDbType.SmallInt).Value = objEntity._TR30_AFECTO; cmd.Parameters.Add("@p_TR30_IMPORTE", SqlDbType.Decimal).Value = objEntity._TR30_IMPORTE; cmd.Parameters.Add("@P_TR30_PORCENTAJE", SqlDbType.Decimal).Value = objEntity._TR30_PORCENTAJE; cmd.ExecuteNonQuery(); sqlTran.Commit(); _Entidad._hubo_error = false; } catch (SqlException exsql) { Mensaje_error = exsql.Message; try { sqlTran.Rollback(); } catch (Exception exRollback) { Mensaje_error = exRollback.Message; } Mensaje_error = string.Format("{1}{0}", Environment.NewLine, (Mensaje_error + exsql.Message.ToString())); if (exsql.InnerException != null) { Mensaje_error = string.Format("{1}{0}", Environment.NewLine, (Mensaje_error + "Inner exception: " + exsql.InnerException.Message)); } Mensaje_error = string.Format("{1}{0}", Environment.NewLine, (Mensaje_error + "Stack trace: " + exsql.StackTrace)); _Entidad._hubo_error = true; _Entidad._contenido_mensaje = Mensaje_error; _Entidad._titulo_mensaje = "Error!"; } finally { cn.Close(); } } return(_Entidad); }
//ACTUALIZAMOS LOS CONCEPTOS REMUNERATIVOS EDITADOS DESDE LA VISTA public bool set_002(ET_R30 objEntity) { string Msg_respuesta; bool respuesta = true; using (SqlConnection cn = new SqlConnection(_cnx.conexion)) { cn.Open(); SqlTransaction sqlTran = cn.BeginTransaction(); SqlCommand cmd = new SqlCommand("pa_tr30_set002", cn, sqlTran); cmd.CommandType = CommandType.StoredProcedure; try { cmd.Parameters.Add("@P_MENSAJE_RESPUESTA", SqlDbType.VarChar, 2000).Direction = ParameterDirection.Output; cmd.Parameters.Add("@p_TR30_TR29_ID", SqlDbType.Int).Value = objEntity._TR30_TR29_ID; cmd.Parameters.Add("@p_TR30_ID", SqlDbType.Int).Value = objEntity._TR30_ID; cmd.Parameters.Add("@p_TR30_TM40_ID", SqlDbType.VarChar, 10).Value = objEntity._TR30_TM40_ID; cmd.Parameters.Add("@p_TR30_IMPORTE", SqlDbType.Decimal).Value = objEntity._TR30_IMPORTE * 1M; cmd.Parameters.Add("@p_TR30_FLG_ELIMINADO", SqlDbType.Int).Value = objEntity._TR30_FLG_ELIMINADO; cmd.Parameters.Add("@p_TR30_TM2_ID", SqlDbType.VarChar, 10).Value = _global._TM2_ID; cmd.Parameters.Add("@p_TR30_UACTUALIZA", SqlDbType.VarChar, 20).Value = _global._U_SESSION; cmd.Parameters.Add("@P_TR30_AFECTO", SqlDbType.SmallInt).Value = objEntity._TR30_AFECTO; cmd.Parameters.Add("@P_TR30_PORCENTAJE", SqlDbType.Decimal).Value = objEntity._TR30_PORCENTAJE; cmd.ExecuteNonQuery(); sqlTran.Commit(); Msg_respuesta = cmd.Parameters["@P_MENSAJE_RESPUESTA"].Value.ToString(); if (Msg_respuesta.Equals("ERROR")) { return(false); } } catch (SqlException exsql) { respuesta = false; } finally { cn.Close(); } } return(respuesta); }
// obtenemos registros de los conceptos remunerativos que posee un cargo ya registrado public List <ET_R30> get_001(int TR29_ID) { _lista_r30 = new List <ET_R30>(); //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_tr30_sel001", cn, sqlTran); cmd.CommandType = CommandType.StoredProcedure; try { cmd.Parameters.Add("@p_TR29_ID", SqlDbType.Int).Value = TR29_ID; cmd.Parameters.Add("@p_TM2_ID", SqlDbType.VarChar, 10).Value = _global._TM2_ID; SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; da.Fill(dt); foreach (DataRow fila in dt.Rows) { _etr30 = new ET_R30(); _etr30._TR30_ID = Convert.ToInt32(fila["TR30_ID"].ToString()); _etr30._TR30_TR29_ID = Convert.ToInt32(fila["TR30_TR29_ID"].ToString()); _etr30._TR30_TM40_ID = fila["TR30_TM40_ID"].ToString(); _etr30._TR30_IMPORTE = Convert.ToDecimal(string.IsNullOrEmpty(fila["TR30_IMPORTE"].ToString()) ? "0.00": fila["TR30_IMPORTE"].ToString()); _etr30._TR30_DESCRIP = fila["TM40_DESCRIP"].ToString(); _etr30._TR30_AFECTO = string.IsNullOrEmpty(fila["TR30_AFECTO"].ToString()) ? false: (fila["TR30_AFECTO"].ToString().Equals("1") ? true: false); _etr30._TR30_PORCENTAJE = Convert.ToDecimal(string.IsNullOrEmpty(fila["TR30_PORCENTAJE"].ToString()) ? "0.00" : fila["TR30_PORCENTAJE"].ToString()); //Convert.ToDecimal(fila["TR30_PORCENTAJE"].ToString()); _etr30._TR30_ABREV = fila["TM40_ABREV"].ToString(); //DIEGO _etr30._Seleccionado = true; _lista_r30.Add(_etr30); } } 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(_lista_r30); } }
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 } } }); }