public static void CambioEstructuraCasoB(SqlTransaction tr, int t305_idproyectosubnodo_contratante, int t303_idnodo_destino, int t305_idproyectosubnodo_replicaSG) { int nSMPSN_contratante = 0; string sEstadoMes = ""; DataSet dsDatoEco = CAMBIOESTRUCTURAPSN.Paso08(tr, t305_idproyectosubnodo_replicaSG); foreach (DataRow oDE in dsDatoEco.Tables[0].Rows) { //2ºComprobar si existe mes para el nodo destino nSMPSN_contratante = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, t305_idproyectosubnodo_contratante, (int)oDE["t325_anomes"]); if (nSMPSN_contratante == 0) { sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, t305_idproyectosubnodo_contratante, (int)oDE["t325_anomes"]); nSMPSN_contratante = SEGMESPROYECTOSUBNODO.Insert(tr, t305_idproyectosubnodo_contratante, (int)oDE["t325_anomes"], sEstadoMes, 0, 0, false, 0, 0); } CAMBIOESTRUCTURAPSN.Paso09(tr, (int)oDE["t376_iddatoeco"], nSMPSN_contratante, (decimal)oDE["t376_importe_mb"]); //CAMBIOESTRUCTURAPSN.Paso10(tr, t305_idproyectosubnodo_contratante, t303_idnodo_destino); } dsDatoEco.Dispose(); CAMBIOESTRUCTURAPSN.Paso10(tr, t305_idproyectosubnodo_contratante, t303_idnodo_destino); PROYECTOSUBNODO.Delete(tr, t305_idproyectosubnodo_replicaSG); }
public static void CambioEstructuraCasoC(SqlTransaction tr, int t305_idproyectosubnodo_contratante, int t303_idnodo_destino, int t305_idproyectosubnodo_replicaCG) { int nSMPSN_contratante = 0; string sEstadoMes = ""; // Aplica la moneda del contratante al presupuesto de la estructura técnica. Aplica el PSN del contratante a los proyectos técnicos CAMBIOESTRUCTURAPSN.Paso11(tr, t305_idproyectosubnodo_contratante, t305_idproyectosubnodo_replicaCG); //Coge los consumos de la replica DataSet dsDatoEco = CAMBIOESTRUCTURAPSN.Paso08(tr, t305_idproyectosubnodo_replicaCG); foreach (DataRow oDE in dsDatoEco.Tables[0].Rows) { //2ºComprobar si existe mes para el nodo destino nSMPSN_contratante = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, t305_idproyectosubnodo_contratante, (int)oDE["t325_anomes"]); if (nSMPSN_contratante == 0) { sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, t305_idproyectosubnodo_contratante, (int)oDE["t325_anomes"]); nSMPSN_contratante = SEGMESPROYECTOSUBNODO.Insert(tr, t305_idproyectosubnodo_contratante, (int)oDE["t325_anomes"], sEstadoMes, 0, 0, false, 0, 0); } //Actualiza el importe por si ha habido cambio de moneda CAMBIOESTRUCTURAPSN.Paso09(tr, (int)oDE["t376_iddatoeco"], nSMPSN_contratante, (decimal)oDE["t376_importe_mb"]); //CAMBIOESTRUCTURAPSN.Paso10(tr, t305_idproyectosubnodo_contratante, t303_idnodo_destino); } dsDatoEco.Dispose(); //Borra los consumos de la contratante en el CR de destino CAMBIOESTRUCTURAPSN.Paso10(tr, t305_idproyectosubnodo_contratante, t303_idnodo_destino); //Reasigno las notas GASVI CAMBIOESTRUCTURAPSN.Paso17(tr, t305_idproyectosubnodo_contratante, t305_idproyectosubnodo_replicaCG); //Guardamos en una lista los usuarios asignados a la replica con gestion List <USUARIOPROYECTOSUBNODO> lUsusariosReplica = CAMBIOESTRUCTURAPSN.Paso12(tr, t305_idproyectosubnodo_contratante, t305_idproyectosubnodo_replicaCG); //Guardo en un dataset los consumos de la replicada DataSet dsCPMCE = CAMBIOESTRUCTURAPSN.Paso13(tr, t305_idproyectosubnodo_replicaCG); //Borro rl proyecto replicado PROYECTOSUBNODO.Delete(tr, t305_idproyectosubnodo_replicaCG); //Recojo los usuarios del proyecto replicado con gestión que he almacenado previamente y los inserto en la contratante //Es necesario hacerlo así porque mientras exista la instancia replicada no permite insertar usuarios en la contratante CAMBIOESTRUCTURAPSN.Paso16(tr, t305_idproyectosubnodo_contratante, lUsusariosReplica); //Una vez que tengo asignados los usuarios a la contratante ya puedo pasar los consumos int?t303_idnodo_usuariomes = null; int?t313_idempresa_nodomes = null; foreach (DataRow oCPM in dsCPMCE.Tables[0].Rows) { nSMPSN_contratante = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, t305_idproyectosubnodo_contratante, (int)oCPM["t325_anomes"]); if (nSMPSN_contratante == 0) { sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, t305_idproyectosubnodo_contratante, (int)oCPM["t325_anomes"]); nSMPSN_contratante = SEGMESPROYECTOSUBNODO.Insert(tr, t305_idproyectosubnodo_contratante, (int)oCPM["t325_anomes"], sEstadoMes, 0, 0, false, 0, 0); } decimal dAux = decimal.Parse(oCPM["t378_costeunitariorep_mb"].ToString()); if (oCPM["t303_idnodo_usuariomes"].ToString() != "") { t303_idnodo_usuariomes = (int)oCPM["t303_idnodo_usuariomes"]; } else { t303_idnodo_usuariomes = null; } if (oCPM["t313_idempresa_nodomes"].ToString() != "") { t313_idempresa_nodomes = (int)oCPM["t313_idempresa_nodomes"]; } else { t313_idempresa_nodomes = null; } //CAMBIOESTRUCTURAPSN.Paso15(tr, (int)oCPM["t325_idsegmesproy"], (int)oCPM["t314_idusuario"], nSMPSN_contratante, dAux, dAux, // float.Parse(oCPM["t378_unidades"].ToString()), (int)oCPM["t303_idnodo_usuariomes"], (int)oCPM["t313_idempresa_nodomes"]); CAMBIOESTRUCTURAPSN.Paso15(tr, (int)oCPM["t314_idusuario"], nSMPSN_contratante, dAux, dAux, float.Parse(oCPM["t378_unidades"].ToString()), t303_idnodo_usuariomes, t313_idempresa_nodomes); } dsCPMCE.Dispose(); }