private string PonerRecurso(string sTipoItem, int IdRecurso, int nIdTarea, bool bNotifProf) { SqlConnection oConn = null; SqlTransaction tr = null; string sResul = ""; //bool bAdmiteRecursoPST = true, bRecursoAsignado = false; try { //Abro transaccion oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccion(oConn); //bRecursoAsignado = TareaRecurso.InsertarTEC(tr, nIdTarea, IdRecurso, null, null, null, null, null, null, 1, null, "", false, // bAdmiteRecursoPST, IdPsn, IdNodo, iUltCierreEco); int iRes = TareaRecurso.InsertarSNE(tr, nIdTarea, IdRecurso, null, null, null, null, null, null, 1, "", "", false); if (bNotifProf && iRes != 0)//se notifica a profesionales y no estaba ya asignado a la tarea { TAREAPSP oTar = TAREAPSP.Obtener(null, nIdTarea); TAREAPSP oTar2 = TAREAPSP.ObtenerOTC(null, nIdTarea); string oRec = "##" + nIdTarea.ToString() + "##" + IdRecurso.ToString() + "################"; oRec += Utilidades.escape(oTar.t332_destarea) + "##"; oRec += oTar.num_proyecto.ToString() + "##" + Utilidades.escape(oTar.nom_proyecto) + "##"; oRec += Utilidades.escape(oTar.t331_despt) + "##" + Utilidades.escape(oTar.t334_desfase) + "##" + Utilidades.escape(oTar.t335_desactividad) + "##"; oRec += Utilidades.escape(oTar2.t346_codpst) + "##" + Utilidades.escape(oTar2.t346_despst) + "##"; oRec += Utilidades.escape(oTar.t332_otl) + "##" + Utilidades.escape(oTar.t332_incidencia) + "##"; TareaRecurso.EnviarCorreoRecurso(tr, "I", oRec, "", "", "", "", Utilidades.escape(oTar.t332_mensaje)); } Conexion.CommitTransaccion(tr); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = Errores.mostrarError("Error al grabar", ex); } finally { Conexion.Cerrar(oConn); } return(sResul); }
private string PonerRecurso(bool bSoloAsignadas, bool bSoloActivas, int iRecursoOrigen, string sTipoItem, int IdRecurso, int IdItem, string sHaciaProy, int IdNodo, int iUltCierreEco, int IdPsn, bool bNotifProf) { SqlConnection oConn = null; SqlTransaction tr = null; string sResul = ""; bool bAdmiteRecursoPST, bRecursoAsignado = false; try { if (sHaciaProy == "S") { bAdmiteRecursoPST = true; } else { bAdmiteRecursoPST = false; } //Abro transaccion oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccion(oConn); switch (sTipoItem) { case "E": PROYECTOSUBNODO.AsignarTareasProfesional(tr, bSoloAsignadas, bSoloActivas, iRecursoOrigen, IdItem, IdRecurso, null, null, -1, "", false, bAdmiteRecursoPST, IdNodo, iUltCierreEco); break; case "P": ProyTec.AsignarTareasProfesional(tr, bSoloAsignadas, bSoloActivas, iRecursoOrigen, IdItem, IdRecurso, null, null, -1, "", false, bAdmiteRecursoPST, IdPsn, IdNodo, iUltCierreEco); break; case "F": FASEPSP.AsignarTareasProfesional(tr, bSoloAsignadas, bSoloActivas, iRecursoOrigen, IdItem, IdRecurso, null, null, -1, "", false, bAdmiteRecursoPST, IdPsn, IdNodo, iUltCierreEco); break; case "A": ACTIVIDADPSP.AsignarTareasProfesional(tr, bSoloAsignadas, bSoloActivas, iRecursoOrigen, IdItem, IdRecurso, null, null, -1, "", false, bAdmiteRecursoPST, IdPsn, IdNodo, iUltCierreEco); break; case "T": //iNumAsig = TareaRecurso.InsertarSNE(tr, IdItem, IdRecurso, null, null, null, null, null, null, 1, null, "", false); bRecursoAsignado = TareaRecurso.InsertarTEC(tr, IdItem, IdRecurso, null, null, null, null, null, null, 1, null, "", false, bAdmiteRecursoPST, IdPsn, IdNodo, iUltCierreEco); if (bNotifProf && bRecursoAsignado) //se notifica a profesionales y no estaba ya asignado a la tarea { TAREAPSP oTar = TAREAPSP.Obtener(null, IdItem); TAREAPSP oTar2 = TAREAPSP.ObtenerOTC(null, IdItem); string oRec = "##" + IdItem.ToString() + "##" + IdRecurso.ToString() + "################"; oRec += Utilidades.escape(oTar.t332_destarea) + "##"; oRec += oTar.num_proyecto.ToString() + "##" + Utilidades.escape(oTar.nom_proyecto) + "##"; oRec += Utilidades.escape(oTar.t331_despt) + "##" + Utilidades.escape(oTar.t334_desfase) + "##" + Utilidades.escape(oTar.t335_desactividad) + "##"; oRec += Utilidades.escape(oTar2.t346_codpst) + "##" + Utilidades.escape(oTar2.t346_despst) + "##"; oRec += Utilidades.escape(oTar.t332_otl) + "##" + Utilidades.escape(oTar.t332_incidencia) + "##"; TareaRecurso.EnviarCorreoRecurso(tr, "I", oRec, "", "", "", "", Utilidades.escape(oTar.t332_mensaje)); } break; } //if (sHaciaProy == "S") //{ // if (!TareaRecurso.AsociadoAProyecto(tr, IdPsn, IdRecurso)) // {//lA FECHA DE alta en el proyecto será la siguiente al último mes cerrado del nodo // DateTime dtFechaAlta = Fechas.AnnomesAFecha(Fechas.AddAnnomes(iUltCierreEco, 1)); // TareaRecurso.AsociarAProyecto(tr, IdNodo, IdRecurso, IdPsn, null, dtFechaAlta, null); // } // else // TareaRecurso.ReAsociarAProyecto(tr, IdRecurso, IdPsn); //} Conexion.CommitTransaccion(tr); } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = Errores.mostrarError("Error al grabar", ex); } finally { Conexion.Cerrar(oConn); } return(sResul); }