public bool GuardarUsuario(UsuarioBe registro) { bool seGuardo = false; try { using (TransactionScope scope = new TransactionScope()) { cn.Open(); int codigoUsuario = 0; seGuardo = usuarioDa.GuardarUsuario(registro, cn, out codigoUsuario); if (seGuardo) { if (registro.ListaPerfil != null) { if (registro.CodigoUsuario > 0) { seGuardo = usuarioPerfilDa.EliminarUsuarioPerfilPorUsuario(registro.CodigoUsuario, cn); } if (seGuardo) { foreach (PerfilBe item in registro.ListaPerfil) { UsuarioPerfilBe itemUsuarioPerfil = new UsuarioPerfilBe(); itemUsuarioPerfil.CodigoUsuario = codigoUsuario; itemUsuarioPerfil.CodigoPerfil = item.CodigoPerfil; seGuardo = usuarioPerfilDa.GuardarUsuarioPerfil(itemUsuarioPerfil, cn); if (!seGuardo) { break; } } } } } if (seGuardo) { scope.Complete(); } } } catch (Exception ex) { log.Error(ex.Message); } finally { if (cn.State == ConnectionState.Open) { cn.Close(); } } return(seGuardo); }
public bool GuardarUsuarioPerfil(UsuarioPerfilBe registro, SqlConnection cn) { bool seGuardo = false; try { using (SqlCommand cmd = new SqlCommand("dbo.usp_usuarioperfil_guardar", cn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@codigoUsuario", registro.CodigoUsuario.GetNullable()); cmd.Parameters.AddWithValue("@codigoPerfil", registro.CodigoPerfil.GetNullable()); int filasAfectadas = cmd.ExecuteNonQuery(); seGuardo = filasAfectadas > 0; } } catch (Exception ex) { log.Error(ex.Message); } return(seGuardo); }