public int set_001(List <ET_R29> cargos_, List <ET_R27> locales_) //optimo return cero { int indice = 0; int elementos_sin_registrar = 0; locales_.ForEach(local => { cargos_.ForEach(cargo => { int[] int_object = new int[2]; int_object = (int[])cargo._Locales_por_cargo_cantidad_personal[indice]; ET_R31 parametros = new ET_R31(); parametros._TR31_TM2_ID = Globales._TM2_ID; parametros._TR31_DESCRIP = "insert!"; parametros._TR31_UCREA = Globales._U_SESSION; parametros._TR31_TR29_ID = cargo._TR29_ID; parametros._TR31_TR28_ID = cargo._TR29_TR28_ID; parametros._TR31_TR27_ID = local._TR27_ID; parametros._TR31_UACTUALIZA = Globales._U_SESSION; parametros._TR31_CANT_PERSONAS = int_object[0]; var result_ = _dt_R31.set_001(parametros)._hubo_error; if (result_) { elementos_sin_registrar++; } }); indice++; }); return(elementos_sin_registrar); }
// REGISTRAMOS LOS DATOS DE MANO DE OBRA public ET_entidad set_001(ET_R31 objEntity) { _Entidad = new ET_entidad(); string Mensaje_error; using (SqlConnection cn = new SqlConnection(conexion)) { cn.Open(); SqlTransaction sqlTran = cn.BeginTransaction(); SqlCommand cmd = new SqlCommand("pa_tr31_set_001", cn, sqlTran); cmd.CommandType = CommandType.StoredProcedure; try { cmd.Parameters.Add("@P_MENSAJE_RESPUESTA", SqlDbType.VarChar, 200).Direction = ParameterDirection.Output; cmd.Parameters.Add("@p_TR31_TR29_ID", SqlDbType.Int).Value = objEntity._TR31_TR29_ID; cmd.Parameters.Add("@p_TR31_TR27_ID", SqlDbType.Int).Value = objEntity._TR31_TR27_ID; cmd.Parameters.Add("@p_TR31_TR28_ID", SqlDbType.Int).Value = objEntity._TR31_TR28_ID; cmd.Parameters.Add("@p_TR31_CANT_PERSONAS", SqlDbType.BigInt).Value = objEntity._TR31_CANT_PERSONAS; cmd.Parameters.Add("@p_TR31_DESCRIP", SqlDbType.VarChar, 3000).Value = objEntity._TR31_DESCRIP; cmd.Parameters.Add("@p_TR31_TM2_ID", SqlDbType.VarChar, 10).Value = _global._TM2_ID; cmd.Parameters.Add("@p_TR31_UCREA", SqlDbType.VarChar, 20).Value = _global._U_SESSION; 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); }
public List <ET_R31> get_001(int tr_29_id) { ET_R31 parametros = new ET_R31(); parametros._TR31_TM2_ID = Globales._TM2_ID; parametros._TR31_TR28_ID = tr_29_id; return(_dt_R31.sel_001(parametros)._lista_et_r31); }
//Actualizamos la contidad de personas de mano de obra// public ET_entidad set_002(ET_R31 objEntity) { _Entidad = new ET_entidad(); _Entidad._entity_r28 = new ET_R28(); string Msg_respuesta; using (SqlConnection cn = new SqlConnection(conexion)) { cn.Open(); SqlTransaction sqlTran = cn.BeginTransaction(); SqlCommand cmd = new SqlCommand("pa_tr31_set_002", cn, sqlTran); cmd.CommandType = CommandType.StoredProcedure; try { cmd.Parameters.Add("@p_TR31_ID", SqlDbType.Int).Value = objEntity._TR31_ID; cmd.Parameters.Add("@p_TR31_CANT_PERSONAS", SqlDbType.Int).Value = objEntity._TR31_CANT_PERSONAS; cmd.Parameters.Add("@p_TR31_UACTUALIZA", SqlDbType.VarChar, 20).Value = objEntity._TR31_UACTUALIZA; cmd.Parameters.Add("@p_TM2_ID", SqlDbType.VarChar, 10).Value = objEntity._TR31_TM2_ID; cmd.Parameters.Add("@p_TR31_DESCRIP", SqlDbType.VarChar, 3000).Value = objEntity._TR31_DESCRIP; cmd.ExecuteNonQuery(); sqlTran.Commit(); _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); }
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); }
//OBTENER LISTA DE SERVICIO MANO DE OBRA public ET_entidad sel_001(ET_R31 objEntity) { string Mensaje_error = ""; DataTable dt = new DataTable(); using (SqlConnection cn = new SqlConnection(conexion)) { cn.Open(); SqlTransaction sqlTran = cn.BeginTransaction(); SqlCommand cmd = new SqlCommand("pa_tr31_sel_001", cn, sqlTran); cmd.CommandType = CommandType.StoredProcedure; try { _lista_et_r31 = new List <ET_R31>(); cmd.Parameters.Add("@p_TR31_TR28_ID", SqlDbType.Int).Value = objEntity._TR31_TR28_ID; cmd.Parameters.Add("@p_TM2_ID", SqlDbType.VarChar, 10).Value = objEntity._TR31_TM2_ID; SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; da.Fill(dt); foreach (DataRow fila in dt.Rows) { _et_r31 = new ET_R31(); _et_r31._TR31_ID = Convert.ToInt32(fila["TR31_ID"].ToString()); _et_r31._TR31_TR29_ID = Convert.ToInt32(fila["TR31_TR29_ID"].ToString()); _et_r31._TR31_TR27_ID = Convert.ToInt32(fila["TR31_TR27_ID"].ToString()); _et_r31._TR31_TR28_ID = Convert.ToInt32(fila["TR31_TR28_ID"].ToString()); _et_r31._TR31_CANT_PERSONAS = Convert.ToInt32(fila["TR31_CANT_PERSONAS"].ToString()); _et_r31._TR31_DESCRIP = fila["TR31_DESCRIP"].ToString(); _et_r31._TR31_TM2_ID = fila["TR31_TM2_ID"].ToString(); _et_r31._TR31_ST = Convert.ToInt32(fila["TR31_ST"].ToString()); _et_r31._TR31_FLG_ELIMINADO = Convert.ToInt32(fila["TR31_FLG_ELIMINADO"].ToString()); _et_r31._TR31_UCREA = fila["TR31_UCREA"].ToString(); _et_r31._TR31_FCREA = Convert.ToDateTime(fila["TR31_FCREA"].ToString()); _et_r31._TR31_UACTUALIZA = fila["TR31_UACTUALIZA"].ToString(); _et_r31._TR31_FACTUALIZA = Convert.ToDateTime(fila["TR31_FACTUALIZA"].ToString()); _lista_et_r31.Add(_et_r31); } _Entidad._lista_et_r31 = _lista_et_r31; _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); } }