public List <Propuesta_Response> BuscarPropuestas(Propuesta_Request entidad) { List <Propuesta_Response> retorno = null; Propuesta_Response tmp = null; try { using (SqlConnection conection = new SqlConnection(ConfigurationManager.ConnectionStrings["cnxIndra"].ConnectionString)) { conection.Open(); using (SqlCommand command = new SqlCommand("[pa_sps_propuestas]", conection)) { command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("@vi_nid_balanceo", entidad.nid_balanceo); command.Parameters.AddWithValue("@vi_nid_portafolio", entidad.nid_portafolio); command.Parameters.AddWithValue("@vi_no_componente", entidad.no_componente); command.Parameters.AddWithValue("@vi_nid_recurso", entidad.nid_recurso); using (SqlDataReader dr = command.ExecuteReader()) { retorno = new List <Propuesta_Response>(); if (dr.HasRows) { while (dr.Read()) { tmp = new Propuesta_Response(); tmp.nid_balanceo = dr.GetInt32(dr.GetOrdinal("nid_balanceo")); tmp.nid_detalle = dr.GetInt32(dr.GetOrdinal("nid_detalle")); tmp.no_codigo = dr.GetString(dr.GetOrdinal("no_codigo")); tmp.no_nombre_componente = dr.GetString(dr.GetOrdinal("no_nombre_componente")); tmp.no_nombre_recurso = dr.GetString(dr.GetOrdinal("no_nombre_recurso")); tmp.fe_crea = dr.GetString(dr.GetOrdinal("fe_crea")); tmp.nu_solicitado = dr.GetInt32(dr.GetOrdinal("nu_solicitado")); tmp.nu_balanceo = dr.GetInt32(dr.GetOrdinal("nu_balanceo")); tmp.prioridad = dr.GetString(dr.GetOrdinal("no_prioridad")); tmp.resp_correo = dr.GetString(dr.GetOrdinal("resp_correo")); tmp.resp_nombre = dr.GetString(dr.GetOrdinal("resp_nombre")); tmp.bala_correo = dr.GetString(dr.GetOrdinal("bala_correo")); tmp.bala_nombre = dr.GetString(dr.GetOrdinal("bala_nombre")); retorno.Add(tmp); } } else { retorno = new List <Propuesta_Response>(); } } } conection.Close(); } return(retorno); } catch (Exception ex) { throw (ex); } }
public Eval_Response EvaluarPropuesta(Eval_Request obj) { try { Eval_Response retorno = new Eval_Response(); if (obj.no_comentario == null) { obj.no_comentario = ""; } Propuesta_Request pr_para = new Propuesta_Request(); pr_para.nid_portafolio = obj.idportafolio; List <Propuesta_Response> propuestas_gen = BuscarPropuestas(pr_para); List <Propuesta_Response> propuestas_dt = new List <Propuesta_Response>(); Propuesta_Response propuesta_tmp = new Propuesta_Response(); List <Eval_Tmp> evaluaciones_tmp = new List <Eval_Tmp>(); Eval_Tmp evl_tmp = new Eval_Tmp(); for (int x = 0; x < obj.lista_parametros.Count(); x++) { evl_tmp = new Eval_Tmp(); evl_tmp.nid_detalle = int.Parse(obj.lista_parametros[x]); evl_tmp.no_comentario = obj.no_comentario; evl_tmp.accion = obj.accion; evaluaciones_tmp.Add(evl_tmp); } for (int x = 0; x < evaluaciones_tmp.Count(); x++) { evaluacionDA.EvaluarPropuesta(evaluaciones_tmp[x]); propuesta_tmp = propuestas_gen.Where(y => y.nid_detalle.Equals(evaluaciones_tmp[x].nid_detalle)).SingleOrDefault(); if (propuesta_tmp != null) { propuestas_dt.Add(propuesta_tmp); } } if (obj.accion == 0) { retorno.resultado = 1; retorno.mensaje = "Se desaprobó satisfactoriamente las propuestas marcadas"; } else { retorno.resultado = 1; retorno.mensaje = "Se aprobó satisfactoriamente las propuestas marcadas"; EnviarCorreos_Responsables(propuestas_dt); EnviarCorreos_Balanceadores(propuestas_dt); } return(retorno); } catch (Exception) { throw; } }