public static ResAcc ParteEquivalencia(int iParteID, int iParteIDEquivalente) { // Se obtiene el grupo de cualquiera de las partes var oParteEq1 = Datos.GetEntity <ParteEquivalente>(c => c.ParteID == iParteID); var oParteEq2 = Datos.GetEntity <ParteEquivalente>(c => c.ParteID == iParteIDEquivalente); // Si ninguna de las partes tiene grupo, se crea uno nuevo int iGrupoID = 0; if (oParteEq1 == null && oParteEq2 == null) { var oEquivalentes = Datos.GetListOf <ParteEquivalente>(); iGrupoID = (oEquivalentes.Count > 0 ? oEquivalentes.Max(c => c.GrupoID) : 0); iGrupoID++; } else { iGrupoID = (oParteEq1 == null ? oParteEq2.GrupoID : oParteEq1.GrupoID); } // Se agrega la equivalencia de la parte 1, por si no existiera if (oParteEq1 == null) { oParteEq1 = new ParteEquivalente() { GrupoID = iGrupoID, ParteID = iParteID }; oParteEq1.RealizoUsuarioID = Theos.UsuarioID; Datos.Guardar <ParteEquivalente>(oParteEq1); } // Se agrega la equivalencia de la parte 2, según aplique if (oParteEq2 == null) { oParteEq2 = new ParteEquivalente() { GrupoID = iGrupoID, ParteID = iParteIDEquivalente }; oParteEq2.RealizoUsuarioID = Theos.UsuarioID; Datos.Guardar <ParteEquivalente>(oParteEq2); } // Se verifica si las dos ya tenían grupo, pero diferente, en cuyo caso todos se van a un mismo grupo if (oParteEq1.GrupoID != oParteEq2.GrupoID) { var oPartesEq2 = Datos.GetListOf <ParteEquivalente>(c => c.GrupoID == oParteEq2.GrupoID); foreach (var oEq in oPartesEq2) { oEq.GrupoID = oParteEq1.GrupoID; oEq.RealizoUsuarioID = Theos.UsuarioID; Datos.Guardar <ParteEquivalente>(oEq); } } return(new ResAcc(true)); }
public static ResAcc ParteEquivalencia(int iParteID, int iParteIDEquivalente) { // Se obtiene el grupo de cualquiera de las partes var oParteEq1 = Datos.GetEntity<ParteEquivalente>(c => c.ParteID == iParteID); var oParteEq2 = Datos.GetEntity<ParteEquivalente>(c => c.ParteID == iParteIDEquivalente); // Si ninguna de las partes tiene grupo, se crea uno nuevo int iGrupoID = 0; if (oParteEq1 == null && oParteEq2 == null) { var oEquivalentes = Datos.GetListOf<ParteEquivalente>(); iGrupoID = (oEquivalentes.Count > 0 ? oEquivalentes.Max(c => c.GrupoID) : 0); iGrupoID++; } else { iGrupoID = (oParteEq1 == null ? oParteEq2.GrupoID : oParteEq1.GrupoID); } // Se agrega la equivalencia de la parte 1, por si no existiera if (oParteEq1 == null) { oParteEq1 = new ParteEquivalente() { GrupoID = iGrupoID, ParteID = iParteID }; oParteEq1.RealizoUsuarioID = Theos.UsuarioID; Datos.Guardar<ParteEquivalente>(oParteEq1); } // Se agrega la equivalencia de la parte 2, según aplique if (oParteEq2 == null) { oParteEq2 = new ParteEquivalente() { GrupoID = iGrupoID, ParteID = iParteIDEquivalente }; oParteEq2.RealizoUsuarioID = Theos.UsuarioID; Datos.Guardar<ParteEquivalente>(oParteEq2); } // Se verifica si las dos ya tenían grupo, pero diferente, en cuyo caso todos se van a un mismo grupo if (oParteEq1.GrupoID != oParteEq2.GrupoID) { var oPartesEq2 = Datos.GetListOf<ParteEquivalente>(c => c.GrupoID == oParteEq2.GrupoID); foreach (var oEq in oPartesEq2) { oEq.GrupoID = oParteEq1.GrupoID; oEq.RealizoUsuarioID = Theos.UsuarioID; Datos.Guardar<ParteEquivalente>(oEq); } } return new ResAcc(true); }